我有一个像这样的组合框
<select name="Type" id="Type" >
<option value="0">--Select--</option>
<option value="Open Ended">Open Ended</option>
<option value="Property">Property</option>
</select>
我的MVC验证器包含此
[Required(ErrorMessage = "Required Field")]
[RegularExpression(@"^[^0]+", ErrorMessage = "Please Select the Type")]
public string Type { get; set; }
但是当我提交表单时,即使选择了“--Select--”,也不会抛出任何错误。我在这里错过了什么吗?
答案 0 :(得分:0)
尝试在正则表达式的末尾指定$ sign。
如果这样做无助于尝试跳过“--Select--”选项中的值属性(也是内容):
<option label="--SELECT--"></option>
在这种情况下,你的'Required'属性会引发验证错误(因为浏览器会发布带有未指定值的表单参数或者根本不会发布这个参数) - 这对我的情况有帮助:)(/ p>
答案 1 :(得分:0)
改变这个:
<option value="0">--Select--</option>
进入这个:
<option value="">--Select--</option>
现在所需的字段验证属性是您唯一需要的属性。