ThinkPHP中模型层的验证消息怎么怎么使用ajax返回呢??

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返回??

阅读 1.8k
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);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题