修复MVC3中使用Remote验证的一点小问题
MVC3中使用Remote验证,把jquery1.4.4换成1.5.2后验证不起作用,而且无法提交表单。
排查后是因为ajax请求后返回数据类型的问题
修改jquery.validate.js,从939行开始,加注释的两行为修改的地方
$.ajax($.extend(true, {
url: param,
mode: "abort",
port: "validate" + element.name,
//dataType: "json",//这里注释掉
data: data,
success: function (response) {
alert(response);
validator.settings.messages[element.name].remote = previous.originalMessage;
var valid = response === "true";//这里把true加上引号
if (valid) {
类中属性定义
[Required]
[Display(Name="游戏ID")]
[Remote("CheckGameId","Mdata",ErrorMessage="游戏ID已存在")]
public int GameId { get; set; }
进行验证的方法直接返回string类型即可
public string CheckGameId(int gameId)
{
appData ad = new appData();
if (!ad.CheckGameId(gameId))
return "true";
string errorMsg = gameId + "已存在";
return errorMsg;
}
浙公网安备 33010602011771号