fastadmin使用nice validator 验证用户名是否存在
nice validator可以将定义在元素data-rule属性里的规则应用在该元素上,如需验证用户名是否存在,只需这样写:
<input id="name" data-rule="required remote(member/name_is_exist)" class="form-control" name="row[name]" type="text">
其中require是必须填写的意思,验证时nice validator 会像remote里的参数地址拼上"admin"发起请求,如上的地址会被解析为“http://app.com/admin/member/name_is_exist”,如果有返回信息将会被判断为错误信息并展示,否则认为数据验证通过,返回示例:
{"code": "0","msg": "用户名已存在"}//校验失败 {"code": "1","msg": ""}//检验通过
如果在编辑的时候还要加上一个orign_name来判断是不是自己已注册的名字来避免报用户名已存在的错,像这样:
<input id="name" data-rule="required remote(member/nameIsExist?orign_name={$row.name})" class="form-control" name="row[name]" type="text" value="{$row.name}">
后台判断orign_name和name是否相等就可以了,相等就直接跳过,否则继续校验。
后台获取数据可以这么写:
$row = $this->request->post("row/a"); $current_name = $row['name'];//传递过来的用户输入的用户名 $orign_name = $this->request->get('orign_name','');//用户原始用户名(编辑时使用)