我新加的自定义字段,设置了判断唯一值。但是当我不想填写这个字段时,他也提示 重复。所以我想有没有办法让他判断,只有在非空值时才判断唯一值?经过折腾,找到可能的代码如下if($this->fields[$field]['isunique'] && $this->db->get_one(array($field=>$value),$field) && ROUTE_A != 'edit') showmessage($name.L('the_value_must_not_repeat'));
注释掉这行,就不会判断唯一值了,现在问题是如何让他只在非空值时判断唯一值,希望懂PHP的大虾帮帮忙

解决方案 »

  1.   

    非空?!empty 前面加上 if  好了吧?
      

  2.   

    要判断那个自定义字段的值为非空,关键问题就是不知道该如何写,我尝试写过
    if($this->fields[$field]!=""){
    if($this->fields[$field]['isunique'] && $this->db->get_one(array($field=>$value),$field) && ROUTE_A != 'edit') showmessage($name.L('the_value_must_not_repeat'));
    }
    失败了,不懂PHP,不知道怎么去判断这个字段值为非空
      

  3.   

    if(!empty($this->fields[$field])){
    ....
    }
      

  4.   

    empty 可以判断非空 如果为空返回true 否则返回false
    "" 返回true
    0 返回true
    "0" 返回true
    false 返回true
    NULL 返回true
    array() 数组为空 返回true
    var $var 未给变量赋值 返回true
    以及没有任何属性的对象都将被认为是空的 返回true
      

  5.   

    if(!empty($this->fields[$field])){
    ....
    }
    这个方法也没用,可能判断非空字段值的字段不是用$this->fields[$field]表示
      

  6.   

    这个是PHPcms的程序,苦等高手解惑