自动完成和自动验证对同一字段操作的问题

浏览:783 发布日期:2016/09/19 分类:求助交流 关键字: 自动验证 自动完成
  /* 自动验证规则 */
  protected $_validate = array(
    array('mac','require','mac必须填写!'),
    array('mac','','mac名称已经存在!',self::MUST_VALIDATE,'unique',self::MODEL_BOTH),
    array('mac','12','mac长度错误!',self::MUST_VALIDATE,'length',self::MODEL_BOTH),
  );
  /* 自动完成规则 */
  protected $_auto = array(
    array('uptime','time',self:: MODEL_BOTH,'function'),
    array('mac','format_mac',self:: MODEL_BOTH,'callback'),   
  );

  public function format_mac(){
    $mac = I('post.mac');
    $mac = str_replace(":","",$mac);  //去掉mac地址冒号
    $mac =  trim($mac );  //去前后空格
    return $mac;
  }
我要实现:
用户提交mac地址(04:A1:51:90:AF:AA).自动去掉冒号(04A15190AFAA),
然后验证mac长度是不是12位.
验证mac地址在数据库中是不是唯一.


现在问题是
只要我一提交mac=04:A1:51:90:AF:AA
会自动格式化没有冒号格式提交.
然后我再提交一次 mac=04:A1:51:90:AF:AA
不会报错,能正常保存.
数据库中有两个相同的04A15190AFAA,实际上自动验证就没用了.

ps:我提交mac=04A15190AFAA 已经格式化好的序列,就会提示mac已经存在



请问我这个是什么问题?
最佳答案
评论( 相关
后面还有条评论,点击查看>>