ThinkPHP中模型层的验证消息怎么怎么使用ajax返回呢??
阿神
阿神 2017-04-10 17:38:02
0
1
340

namespace HomeModel;
use ThinkModel;
class UserModel extends Model{
protected $_validate = array( array('verify','require','验证码必须!'), //默认情况下用正则进行验证
array('name','','帐号名称已经存在!',0,'unique',1), // 在新增的时候验证name字段是否唯一
array('value',array(1,2,3),'值的范围不正确!',2,'in'), // 当值不为空的时候判断是否在一个范围内
array('repassword','password','确认密码不正确',0,'confirm'), // 验证确认密码是否和密码一致
array('password','checkPwd','密码格式不正确',0,'function'), // 自定义函数验证密码格式 );}

以上的验证消息怎么使用ajax返回??

阿神
阿神

闭关修行中......

répondre à tous(1)
洪涛

错误信息是可以通过getError()获取的;
给个示例:

model中定义验证:
https://github.com/baijunyao/...
第8行:定义的验证规则;

    // 自动验证
    protected $_validate=array(
        array('username','require','用户名必须',0,'',3), // 验证字段必填
    );

controller中获取未通过验证的信息
https://github.com/baijunyao/...
第245行:获取的错误信息:

$error_word=D('Users')->getError();

那么得到未通过验证的错误消息后;是可以直接echo;
然后ajax即可收到;

echo $error_word;

但是并不建议直接返回字符串;
而是附带着错误码也返回了;

$result=[
    'status_code'=>400,
    'message'=>$error_word;
]
echo json_encode($result);
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal