首頁  >  文章  >  php框架  >  一文講解thinkphp5如何進行非同步驗證信箱

一文講解thinkphp5如何進行非同步驗證信箱

藏色散人
藏色散人轉載
2021-09-14 15:53:191885瀏覽

thinkphp框架教學欄位將介紹給大家thinkphp5使用bootstrapvalidator進行非同步驗證信箱的方法,希望對需要的朋友有幫助!

一文講解thinkphp5如何進行非同步驗證信箱

TP5使用bootstrapvalidator進行非同步驗證郵件信箱

##js驗證

/**
 * Created by HONGXIN on 2017-10-23.
 */
$(function () {
    $('form').bootstrapValidator({

        message: 'This value is not valid',
        feedbackIcons: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },

        live: 'disabled',//验证失败后,提交按钮仍然是可选状态

        fields: {
            email: {
                message: '用户名验证失败',//默认
                verbose: false,
                validators: {
                    notEmpty: {
                        message: '邮箱不能为空'
                    },
                    emailAddress: {
                        message: '邮箱地址格式有误'
                    },
                    remote: {
                        url: '/ajax_email',
                        message:"此邮箱已经注册",
                        type: "post",
                        dataType: 'json',
                        data: {
                            //默认传递的就是输入框的值
                        },
                        delay: 500,//延迟效果
                    },
                }
            },
            password: {
                validators: {
                    notEmpty: {
                        message: '邮箱地址不能为空'
                    },
                    stringLength: {
                        min: 6,
                        max: 18,
                        message: '用户名长度必须在6到18位之间'
                    },
                },
            },
            password2: {
                validators: {
                    notEmpty: {
                        message: '确认密码不能为空'
                    },
                    identical: {
                        field: 'password',
                        message: '两次密码必须一致'
                    }
                }
            },
            username:{
                validators: {
                    notEmpty: {
                        message: '用户名不能为空'
                    },
                    stringLength: {
                        min: 2,
                        max: 8,
                        message: '用户名长度必须在2到8位之间'
                    }
                }
            }

        }
    });
});

TP5處理

    public function ajax_email(){
        //该message可以为空,它替换JS验证的message属性
       echo json_encode(['valid'=>false,'message'=>'验证码不正确']);

    }

js驗證幾個注意點

  • verbose: false,代表js驗證合法後再異步後台驗證,這樣減少伺服器壓力
  • data: { } ,預設傳遞的就是輸入框的值,所以一般不用寫該屬性,或是空可以
後台注意點

    注意不是return而是echo
  • 返回json格式
  • {'valid':true[,'message':'驗證成功']}
#

以上是一文講解thinkphp5如何進行非同步驗證信箱的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除