我是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”为其设计一个表单 并且验证操作会返回 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.');
}
我认为Unobstrusive javascript使表单状态:无效或有效......
**指但是,我的问题是我是否需要使用$(“form”)。有效(),然后是什么
使用Unobstrusive javascript进行验证...... ???? **
这样可以......或者我做错了
答案 0 :(得分:0)
因为您的模型无效,并不一定意味着您不想与服务器通信。这只是意味着您不想提交该模型。