我已经为我的表单设置了模型验证,但验证似乎根本不起作用。我想没有人能帮忙。我已经尝试使用下面的解决方法,但这不断在 firebug 中引发“未定义”错误。
解决方法脚本示例:
<script type="text/javascript">
$(document).ready(function () {
$.validator.setDefaults({ ignore: [] });
});
</script>
示例文本字段(注意:自动填充包含客户姓名的文本字段):
@Html.TextBox("txtCustomer", null, new { @id = "txtCustomer", @class = "txt" })
隐藏字段示例(注意:当从自动完成字段中进行选择时,id 会注入(inject)到隐藏字段中):
@Html.HiddenFor(model => model.Customer_ID, new { @id = "hCustomerID" })
模型数据注释示例
[Range(1, Int32.MaxValue, ErrorMessage = "Please select a customer")]
public int Customer_ID { get; set; }
编辑:错误屏幕截图
抱歉,我必须发布屏幕截图的链接,因为我的代表点足够高。
编辑:显示页面源的屏幕截图
最佳答案
在不引人注目的脚本之后以这种方式更改验证器上的忽略为时已晚。这是因为验证器仅在创建时提取默认值一次。不显眼的脚本会为您创建验证器。您需要引用现有的验证器对象并更新它。
试试这个
<script>
$(document).ready(function () {
$('form').validate().settings.ignore = []
});
</script>
关于jquery - MVC3/4 验证隐藏字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14503698/