Home > PHP Framework > ThinkPHP > An article explaining how thinkphp5 performs asynchronous email verification

An article explaining how thinkphp5 performs asynchronous email verification

藏色散人
Release: 2021-09-15 11:42:10
forward
1977 people have browsed it

thinkphp frameworkThe tutorial column will introduce to you how thinkphp5 uses bootstrapvalidator to asynchronously verify emails. I hope it will be helpful to friends in need!

An article explaining how thinkphp5 performs asynchronous email verification

TP5 uses bootstrapvalidator for asynchronous verification email

js verification

/**
 * 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位之间'
                    }
                }
            }

        }
    });
});
Copy after login

TP5 processing

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

    }
Copy after login

js Several points to note when verifying

  • verbose: false, which means that js verification is legal before asynchronous background verification, which reduces server pressure
  • data: { }, the value of the input box is passed by default, so generally there is no need to write this attribute, or it can be empty

Notes on the background

  • Note that it is not return Instead, echo
  • returns json format {'valid':true[,'message':'Verification successful']}

The above is the detailed content of An article explaining how thinkphp5 performs asynchronous email verification. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:segmentfault.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template