我是 MVC 的新手。我制作了一个模型LoginModel
{
[Required (ErrorMessage="Username is required field.")]
[Display(Name = "User name")]
public string UserName { get; set; }
[Required (ErrorMessage="Password is required field.")]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
}
并为它设计一个id = "CustomLogin"的表单,它的action="User/Validate" 和Validate操作返回JsonResult
在web.config 中,
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
在我的_Layout.cshtml 中,
@Scripts.Render("~/bundles/jqueryval")
现在,如果我直接单击表单 (CustomLogin)的“提交”按钮,那么它会阻止我跳转用户/验证,这是正确的..
但是在外部 Javascript 中说mycode.js,我也写过
$(document).ready(
function()
{
$('#CustomLogin').submit(
function(e)
{
alert ('i executed.');
//suppose, here i wrote JSON call, it will also be executed
});
});
它也被执行。所以可以吗..??
我的想法是,如果我点击提交按钮,而不传递任何值,
不显眼的 javascript 可防止对我的发布请求“用户/验证”进行跳转控制,
那么它也应该阻止我的提交事件。为了解决这个问题,我 在提交事件处理程序中使用了 $("form").valid() 。
像这样,
if ( $("#CustomLogin").valid() )
{
alert('I executed.');
}
我认为 Unobtrusive javascript 使表单状态:无效或有效......
**> 但是,我的问题是如果我需要使用 $("form").valid(),那么是什么
使用 Unobtrusive javascript 进行验证...???? **
这可以吗..或者我做错了