我有一个带有文本框和提交按钮的表单,当用户向文本框添加值并提交时,它将更新用于存储一些简单配置的XML文件。
@using (Html.BeginForm("SetThreshold", "Config", FormMethod.Post))
{
<p>Current Email Threshold @Html.Raw(threshold)</p>
@Html.TextBox("emailThreshold", null, new { @class = "numericTextBox" })
<input type="submit" value="Update" />
}
由于我没有使用模型,因此我无法使用数据注释来确保用户在尝试提交之前输入数字内容。
我真的不想渲染一些警告文本,然后在点击提交按钮时根据表单状态显示/隐藏它。
验证文本框客户端的最简洁最简单的方法是什么,同时保持我在基于模型的视图上使用的所有其他JQUERY验证,并且能够在以后添加到我无疑有更多文本框时可在此页面上更新。
答案 0 :(得分:2)
jQuery标准验证库允许您使用属性装饰输入,并在提交表单时自动验证。
例如,如果您使用required
属性渲染文本框,它将起作用。但是,它只会执行client-side
验证;在C#模型中使用验证属性也可以启用server-side
验证。
所以,类似的东西会奏效:
@Html.TextBox("emailThreshold", null, new { required = "required" })
如果您需要了解所有验证属性,请查看jquery验证插件主页。
说实话,还有其他选择,例如,您可以创建自定义模型绑定器并覆盖验证提供程序。但我认为这就像重新发明轮子......太费力了......
编辑:
让我分享一下与自定义验证相关的好文章:
http://johnnycode.com/2014/03/27/using-jquery-validate-plugin-html5-data-attribute-rules/