在我的表单中,我有一个带有&#34的下拉列表;请选择..."作为第一项,此项目的价值"请选择..."自动设置为值-1。
现在,当我点击"保存"我的表单上的按钮,没有选择下拉列表中的任何项目,客户端验证将不会发生。表单将被提交,然后Modelstate.Valid = false。该视图将再次显示在下拉列表中的验证错误,表示:"值' -1'对于所有者"无效。
1)我不希望消息是"值' -1'对所有者无效"。所以我可以以某种方式调整此消息? 2)如何确保客户端验证发生并阻止回发
当我选择第一个选项"请选择..."在drodownlist中并单击屏幕中的其他位置,客户端验证确实有效。我看到了我的错误消息,但我仍然可以点击保存按钮并提交表单。
有没有人有任何线索? 我在网上找不到这样的东西
我有一个具有以下属性的Viewmodel:
[Required(ErrorMessage = "Owner is required.")]
// Any guid but not an empty guid.
[RegularExpression(@"^(\{{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}\}{0,1})$", ErrorMessage = "Owner is required.")]
public Guid OwnerId { get; set; }
public SelectList Owners { get; set; }
在我的剃刀中我有:
@Html.DropDownListFor(model => model.OwnerId, Model.Owners, "Select a value...", new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.OwnerId)
答案 0 :(得分:0)
材料设计脚本正在调整选择。感谢Stephen指出这个方向