KendoValidator要求的字段不是实际需要的
我有一个不需要的字段,如下面的代码所示。当我点击保存发布表格数据时,我得到的应该是的kendo错误信息验证它的一个合适的邮政编码(它可以是空白的)。它还显示错误消息,当我从字段这不是我正在寻找远离标签。任何帮助将是伟大的,谢谢!KendoValidator要求的字段不是实际需要的
HTML:
<input class="form-control " data-val="true" data-val-regex="Invalid Zip Code" data-val-regex-pattern="^\d{5}(-\d{4})?$" id="ZipCode" name="ZipCode" onkeyup="enableButton()" tabindex="4" type="text" value="">
JS:
$(document).ready(function() {
$("#Form").kendoValidator();
//$(".k-widget").removeClass("input-validation-error");
});
型号:
[Display(Name = "Zip Code")]
[RegularExpression(@"^\d{5}(-\d{4})?$", ErrorMessage = "Invalid Zip Code")]
public string ZipCode { get; set; }
我发现我的答案。它实际上不是一个剑道问题,而是一个正则表达式问题。
正则表达式使得所需的场,但我的正则表达式的数据标注不接受空字符串:
[RegularExpression(@"^\d{5}(-\d{4})?$", ErrorMessage = "Invalid Zip Code")]
我加入|^$我的正则表达式的结束,它解决了我的问题。
[RegularExpression(@"^\d{5}(-\d{4})?|^$", ErrorMessage = "Invalid Zip Code")]
您需要剑道验证属性 'validateOnBlur' 设置为false(默认为真)在用户缩小标签时跳过验证。
$(document).ready(function() {
$("#Form").kendoValidator({
validateOnBlur: false
});
});
而且,我会用“validationMessage”而不是“数据-VAL-正则表达式”,以及代替你的输入标签“数据-VAL-正则表达式模式”模式'。
最后,如果您忽略'required'属性,您的用户将被允许将该字段留空。
我创建了一个道场与这个工作的例子:http://dojo.telerik.com/uPeQE
这是我将来使用的一些非常好的信息。让我问你,为什么你会选择validationMessage和pattern?另外你会如何执行它们? data-val-regex和data-val-regex-pattern属性被添加,因为我的模型中有数据注释。 – tshoemake
在这种情况下,如果他们正在为您工作,您可能想继续使用它们。我无法在我的例子中使用它。我必须使用来自Telerik的每个示例的“pattern”和“validationMessage”:http://docs.telerik.com/kendo-ui/controls/editors/validator/overview – Ageonix
什么是enableButton()?我认为还有其他一些我们没有看到的代码? – Ageonix