remote: {
url: "/pages/",
complete: function (status) {
return !status;
}
}
我已经应用了jquery Validation和remote参数,该调用根据发送的数据返回true和false,但我需要验证,如果返回true则应该被视为false,反之亦然。我尝试在完整的回调中返回相反的响应,但是我认为验证不起作用。
答案 0 :(得分:0)
不确定但可能是从远程返回的状态在此处不会被视为bool
。所以试试吧。
remote: {
url: "/pages/",
complete: function (status) {
if(status=="true")
return false;
return true; //no need of else
}
}
答案 1 :(得分:0)
文档说:
响应被评估为JSON,对于有效元素必须为true,并且对于无效元素,可以是任何false,undefined或null,使用默认消息;或者一个字符串,例如。 "该名称已被采用,请尝试使用peter123"显示为错误消息。
因此,请确保使用有效的JSON回复true或false。
然后简单地发表一个声明,如
if(status)
或if(status == true)
但我建议不要改变那方面的任何事情。如你所知,如果它是假的,我会通过远程页面返回true。如果它实际上是假的,你不应该返回true。所以只需更改你回拨的类型。
答案 2 :(得分:0)
remote: {
url: "/pages/",
success: function( response ) {
var element = $(this).find(`your element`)[0];
var previous = validator.previousValue( element );
var valid = response === "ok" || response === "true", //add your valid condition here
errors, message, submitted;
validator.settings.messages[ element.name ].remote = previous.originalMessage;
if ( valid ) {
submitted = validator.formSubmitted;
validator.prepareElement( element );
validator.formSubmitted = submitted;
validator.successList.push( element );
delete validator.invalid[ element.name ];
validator.showErrors();
} else {
errors = {};
message = response || validator.defaultMessage( element, "remote" );
errors[ element.name ] = previous.message = $.isFunction( message ) ? message( value ) : message;
validator.invalid[ element.name ] = true;
validator.showErrors( errors );
}
previous.valid = valid;
validator.stopRequest( element, valid );
}
}