Sha*_*ean 5 asp.net-mvc asp.net-mvc-3
我在表单中有一个文本框,我想添加一些验证.
如何在不使用模型的情况下为其添加一些不显眼的验证属性?
例如.
@using (Html.BeginForm())
{
@Html.ValidationSummary()
@Html.Label("code", "Confirmation Code")
@Html.TextBox("code")<!-- I want validation on this thing -->
<input type="submit" value="Go" />
}
Run Code Online (Sandbox Code Playgroud)
我该如何制作它required,以及其他如强度等.
小智 1
也许为时已晚,但我刚刚找到了解决方案。
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);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4338 次 |
| 最近记录: |