【问题标题】:jquery ajax boolean validationjquery ajax 布尔验证
【发布时间】:2015-08-06 14:03:17
【问题描述】:

我这样做是为了验证用户名,通过 ajax 在 DB 中搜索名称,在 if 条件下,无论返回值如何(真或假),我都会收到一条错误消息。这意味着它只取假。当我调试时,ajax 工作正常,它根据情况采用 true 或 false 的值,我称它为带有规则和消息的普通 jQuery 验证。请帮帮我。

jQuery.validator.addMethod("shortNameCheck",function(value,element){

    if (value != null && value != "") {

        shortName = $('#shortName').val();
        $.ajax({ 
            dataType: 'json',
            url: clientsetup.props.shortNameValidation,
            data: "shortName=" + shortName + "&hierarchyNodeId=" + hirNodeId,
            type: 'POST',
            success: function (data) {
                if (data.shortNameCheck === 'true') {
                    return false
                } else {
                    return true;
                }
            }
        });
    } else {
        return true;
    }
});

【问题讨论】:

  • 感谢回复,我都试过了,都不行
  • 尝试使用data.shortNameCheck.trim() == 'true' 避免任何空格
  • alert(typeof data.shortNameCheck) 告诉你什么?
  • 感谢reply.from 数据库它得到完全“真实”..
  • 感谢 ishettyl 的回复。如果条件成功,我没有收到任何警报

标签: javascript jquery validation


【解决方案1】:

使用这个 --

<script type="text/javascript">
var bool = true;
console.log(typeof bool); // return boolean
if(bool === true)
    {
        alert('correct');
    }
</script>

改变--

if (data.shortNameCheck === 'true') 

到--

if (data.shortNameCheck === true) 

【讨论】:

  • 感谢回复,我做到了,但它不起作用,警报也不起作用。
  • 你的意思是在我的例子中 alert('correct') 不起作用??
  • 在我的代码中 if (data.shortNameCheck === 'true') { return false } 当我在这个框中写警报时,它没有启动,尽管我给出了 db 中的名称跨度>
  • 我认为你必须检查你的代码我有一个解决方案请提醒 data.shortNameCheck 值它返回什么??
  • 你又犯了一个错误,请删除 true 中的单引号 ....change -- if (data.shortNameCheck === 'true') To -- if (data.shortNameCheck ===真的)
猜你喜欢
  • 2019-09-14
  • 2016-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-06
  • 1970-01-01
  • 2014-06-05
  • 1970-01-01
相关资源
最近更新 更多