Asp.net mvc 4 数据注释-asp.net mvc 4
我是MVC新手。我制作了一个模型LoginModelAsp.net mvc 4 数据注释-asp.net mvc 4,asp.net-mvc-4,Asp.net Mvc 4,我是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.Pa
{
[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; }
}
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
并使用id=“CustomLogin”及其action=“User/Validate”
和Validate操作返回JsonResult
在web.config中,
{
[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; }
}
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
现在,如果我直接点击表单(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
});
});
它也被执行。那么这样可以吗
我的想法是,如果我单击提交按钮,而不传递任何值,
@Scripts.Render("~/bundles/jqueryval")
非结构化javascript防止对我的post请求“User/Validate”进行跳跃控制
然后它还应该阻止我的提交事件。为了解决这个问题,我在提交事件处理程序中使用了$(“form”).valid()
像这样,
if ( $("#CustomLogin").valid() )
{
alert('I executed.');
}
我认为非结构化javascript使表单状态为:无效或有效
**>但是,我的问题是,如果我需要使用$(“form”).valid(),那么
使用非结构化javascript进行验证**
这样行吗。。或者我做得不对,因为您的模型无效,并不一定意味着您不想与服务器通信。这只是意味着你不想提交那个模型