ホームページ  >  記事  >  PHPフレームワーク  >  thinkphp5 が非同期電子メール検証を実行する方法を説明する記事

thinkphp5 が非同期電子メール検証を実行する方法を説明する記事

藏色散人
藏色散人転載
2021-09-14 15:53:191948ブラウズ

thinkphp Frameworkチュートリアル コラムでは、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 を検証する際のいくつかの注意点data: { }、入力ボックスの値がデフォルトで渡されるため、通常、この属性を記述する必要はありません。または空にすることもできます。
  • 背景に関する注意
これは返されないことに注意してください。代わりに、echo

は json 形式を返します
    {'valid':true[,'message':'Verification success']}
  • #

以上がthinkphp5 が非同期電子メール検証を実行する方法を説明する記事の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。