我正在使用jQuery驗證器來驗證表單。如果沒有使用電子郵件,我的服務器將返回true
,如果使用的是this email is already being used
,則返回true
。使用Firebug,我看到對jQuery驗證器的GET請求的響應爲true
或this email is already being used
,我相信服務器正常工作。jQuery遠程驗證器服務器生成的錯誤消息沒有顯示
但是,當服務器返回這些錯誤時,它們不會顯示爲錯誤。但是,其他非遠程錯誤(如無效的電子郵件)正在顯示。雖然沒有顯示遠程錯誤,但它們實際上阻止了表單的提交。
如下圖所示,我也使用自定義客戶端消息,但我已經刪除他們認爲他們可能是負責任的,但得到相同的結果。
編輯。我的服務器返回'true'
沒有錯誤,並且'some error message'
發生錯誤。但是,如果我的服務器返回'false'
,則會顯示客戶端消息。
我如何讓jQuery驗證器顯示服務器生成的錯誤消息?
{
"ignore": [],
"rules": {
"email": {
"email": true,
"maxlength": 45,
"invite":true,
"remote": "openContactEmail"
}
},
"messages": {
"email": {
"email":"Please enter a valid email address.",
"remote":"Another contact is using this email for this account."
}
},
"data": {
"email": {
"id": 123
}
},
"remote": "path_to_validation_file.php"
}
顯示您的服務器端代碼是非常重要的,除了你自己能夠解決這個問題。否則,我們只能猜測你沒有以JSON的形式迴應響應。 – Sparky
@Sparky是的,我同意,不這樣做感覺不好。只是完全相信它不是,但顯然是錯誤的。 – user1032531