如果我的服务器端验证通过,我想显示一条消息,我从服务器传回客户端。错误消息是可能的(定义为ASP.Net MVC中属性的属性),我可以显示成功消息吗?也许我可以利用JQuery验证插件来做到这一点?从服务器端验证显示ASP.Net MVC中的成功验证消息
ex。我从该位置进行查找以获取想要将城市作为字符串传回城市的城市,以将其显示为验证成功消息。
这是我的代码。
[Required()]
[MaxLength(5)]
[MinLength(5, ErrorMessage = "Can't find location")]
[Display(Name = "Zip code")]
[Remote("CheckLocation", "Account", AreaReference.UseCurrent, ErrorMessage = "Invalid zipcode")]
public string Location { get; set; }
[HttpGet]
[AllowAnonymous]
public JsonResult CheckLocation(int Location)
{
var city = getLocation(Location);
if (city != null)
{
// pass the city back with the JSon object, but how do I display it???
return Json(true, JsonRequestBehavior.AllowGet);
}
return Json(false, JsonRequestBehavior.AllowGet);
}
编辑这里是我试过了。我在我的c#
属性上使用jQuery现在验证而不是远程属性。这工作正常,但我如何在远程定义一个成功属性,并将该成功消息传递给验证消息?然后将颜色更改为绿色而不是红色?
$('#Location').rules("add", {
required: true,
minlength: 5,
maxlength: 5,
messages: {
required: "Required input",
minlength: jQuery.validator.format("Please, {0} characters are necessary"),
maxlength: jQuery.validator.format("Please, {0} characters are necessary")
},
remote: {
url: "CheckLocation",
type: "post",
data: {
Location: function() {
return $('#Location').val();
}
}
}
});
EDIT 2 我真的想显示来自服务器(例如,shoing进入一个zip当城市)一个更迭的消息,所以我觉得我可以在使用一个成功回调远程调用并在回调中操作消息颜色并使元素有效。我认为如果JSon响应中存在字符串,那么validate会将其设置为false?
这样的事情。
[HttpGet]
[AllowAnonymous]
public JsonResult CheckLocation(int Location)
{
var city = getLocation(Location);
if (city != null)
{
return Json(city); // this will be text like "London"
}
return Json(false);
}
$('#Location').rules("add", {
required: true,
//minlength: 5,
maxlength: 5,
messages: {
required: "Required input",
minlength: jQuery.validator.format("Please, {0} characters are necessary"),
maxlength: jQuery.validator.format("Please, {0} characters are necessary")
},
remote: {
url: "CheckLocation",
type: "post",
data: {
Location: function() {
return $('#Location').val();
}
},
success: function(data) {
// change the color from red to green for the message
// make the invalid element valid so it passes submition
}
}
});
检查这一项就应该帮助http://stackoverflow.com/问题/ 28366314/mvc5-data-annotations-client-side-validation-not-occurrence – mike123
@ user1186050为什么你不能使用错误或成功消息的标签,给它一个id,然后在jquery中设置值取决于返回值? –
我想我可以,但不是有一些JQuery验证引擎盖下的东西吗?我想显示所有验证错误消息。我想确保表单中有无效的字段,然后我尝试提交 – user1186050