提问人:NibblyPig 提问时间:12/4/2015 更新时间:12/4/2015 访问量:211
如何在代码中的 mvc 中进行一些自定义的非侵入式验证?
How do I do some custom unobtrusive validation in mvc in code?
问:
试图让我的头脑绕过不显眼的验证。我创建了一个简单的页面,如下所示:
@using (Html.BeginForm())
{
<text>Validation for name should fail unless this box contains the word christmas</text>
@Html.TextBoxFor(c => c.IsChristmas, new { id = "IsChristmas" }) <br />
@Html.TextBoxFor(c => c.Name)
@Html.ValidationMessageFor(c => c.Name)
<br />
<input type="submit" value="Submit" />
}
该模型只有两个字符串和 .[Required] Name
IsChristmas
这很好用,如果在文本框为空时按提交,则会出现验证错误。Name is required
我现在想做的是,如果第一个文本框不包含“圣诞节”一词,则在他们尝试提交时出现验证错误。这只是为了学习如何创建自己的自定义验证类型。我不想使用数据属性,我想完全在javascript中完成。如果可能的话,我想加入现有的不显眼的东西。
有什么想法吗?
我想我可以先写一个函数:
function isChristmas()
{
return $('#isChristmas').val() == 'christmas';
}
那么也许我可以以某种方式注册它,以便在提交时调用它?通过注册某种处理程序直接进入验证代码,或者编写我自己的处理程序(提交按钮单击事件)来调用 isChristmas(),如果它为 false,则调用一个方法来显示验证错误。
我不确定这些不显眼的东西有多灵活。我想另一件可取的事情是,如果在绕过验证的情况下提交页面,我也可以检查服务器端并让它返回视图并以某种方式以这种方式显示错误。
答: 暂无答案
评论
jquery.validation
IsChristmas
boolean
[RequiredIfTrue("IsChristmas")]
Name