我在表单中有一个文本框,我想添加一些验证.
如何在不使用模型的情况下为其添加一些不显眼的验证属性?
例如.
@using (Html.BeginForm()) { @Html.ValidationSummary() @Html.Label("code","Confirmation Code") @Html.TextBox("code")<!-- I want validation on this thing --> <input type="submit" value="Go" /> }
如何使其成为必需品,以及其他如强度等.
解决方法
也许现在为时已晚,但我刚刚找到了解决方案.
var metaInfo = ViewData.ModelMetadata.Properties.First(data => data.PropertyName == "[Property name]"); Dictionary<string,object> attributes = new Dictionary<string,object>(); var validators = metaInfo.GetValidators(ViewContext.Controller.ControllerContext); if(validators.Count() > 0) { attributes.Add("data-val","true"); foreach (var validator in validators) { foreach(var rule in validator.GetClientValidationRules()) { attributes.Add(string.Format("data-val-{0}",rule.ValidationType),rule.ErrorMessage); foreach(var param in rule.ValidationParameters) { attributes.Add(string.Format("data-val-{0}-{1}",rule.ValidationType,param.Key),param.Value); } } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。