我有点麻烦:我有一个页面,其特点是一个整数值,应该针对数据库验证其是否具有重复性,使用MVC的内置TextBoxFor可以正常工作,但是当我将其更改为Kendo的NumericTextBox for更好的输入验证和全面的用户友好性,远程方法永远不会被调用。如何在Kendo UI的NumericTextBox上使用MVC的远程验证?
基本上是:
[Remote("ValidateDuplicity", "Edital", AdditionalFields = "Year, Id", ErrorMessage = "Code already used")]
public int Code { get; set; }
如果在视图中我用下面,一切工作正常:
@Html.TextBoxFor(x => x.Code, new { @class = "k-textbox lt-width-full" })
@Html.ValidationMessageFor(x => x.Code)
但在接下来的情况下,确认从未触发:
@Html.Kendo().NumericTextBoxFor(x => x.Code)
@Html.ValidationMessageFor(x => x.Code)
关于我可能会遗漏的任何想法?
编辑:
至于问,呈现的HTML看起来像这样:
<span class="k-numeric-wrap k-state-default">
<input type="text" class="k-formatted-value k-input" tabindex="0" aria-disabled="false" aria-readonly="false" style="display: inline-block;">
<input data-val="true" data-val-number="The field Numero must be a number." data-val-regex="Número inválido" data-val-regex-pattern="^([0-9]+)$" data-val-remote="Edital já cadastrado" data-val-remote-additionalfields="*.Numero,*.Ano,*.Id" data-val-remote-url="/SAGI/DNIT/Edital/ValidadeDuplicidadeEdital" data-val-required="Campo requerido" id="Numero" name="Numero" type="text" value="457" data-role="numerictextbox" role="spinbutton" class="k-input" aria-valuenow="457" aria-disabled="false" aria-readonly="false" style="display: none;">
<span class="k-select">
<span unselectable="on" class="k-link">
<span unselectable="on" class="k-icon k-i-arrow-n" title="Increase value">
Increase value
</span>
</span>
<span unselectable="on" class="k-link">
<span unselectable="on" class="k-icon k-i-arrow-s" title="Decrease value">
Decrease value
</span>
</span>
</span>
</span>
编辑2
而使用TextBoxFor生成的HTML的时候看起来是这样的:
<input class="k-textbox lt-width-full" data-val="true" data-val-number="The field Numero must be a number." data-val-regex="Número inválido" data-val-regex-pattern="^([0-9]+)$" data-val-remote="Edital já cadastrado" data-val-remote-additionalfields="*.Numero,*.Ano,*.Id" data-val-remote-url="/SAGI/DNIT/Edital/ValidadeDuplicidadeEdital" data-val-required="Campo requerido" id="Numero" name="Numero" type="text" value="457">
当您使用Kendo NumericTextBox时,最终呈现的html看起来像什么? – ataravati
@ataravati它现在在那里。这似乎是好的。 –
你可以显示标准文本框的生成代码吗?比较可能会显示出一个重要的区别。 – jwatts1980