【问题标题】:how to set custom validation message in grocery crud如何在杂货店杂货中设置自定义验证消息
【发布时间】:2014-12-31 04:06:04
【问题描述】:
$crud = new grocery_CRUD();
$crud->set_table('generate_eblskyid');
$crud->set_rules('salt', 'Salt Code','callback_check_salt');
$output = $crud->render();

然后在回调函数中我做了以下

function check_salt($str)
{
   $salt = $_POST['salt'];
   if($salt > 5)
   {
      $this->get_form_validation()->set_message('salt',"Salt value must be less then FIVE");
      return FALSE;
   }
}

当我去添加记录时,如果我给出低于 5 的盐值,则插入成功,但当我给出大于 5 的值时,它会显示“插入时发生错误”而不显示我的自定义消息。

我做错了什么??

【问题讨论】:

    标签: php codeigniter validation grocery-crud


    【解决方案1】:

    你的check_salt($str)函数应该是这样的

    function check_salt($str)
    {
    
       if($str > 5)
       {
          $this->form_validation->set_message('check_salt',"Salt value must be less then FIVE");
    
          return false;
       }else{
          return true;
       }
    }
    

    在 set_message 函数中,应该给出回调函数名称 'check_salt',而不是字段名称 'salt' 这应该可以解决您的问题。

    【讨论】:

    • 我尝试更新我的 check_salt 函数,即添加了 else 条件,但我收到以下消息。 “无法访问与您的字段名称对应的错误消息。” @Ariful Haque
    • 您是否在 set_message 函数中尝试使用“check_salt”而不是“salt”?我刚找到这个reference@jishan
    • 在 set_message 函数@Ariful Haque 中使用 check_salt 后工作正常
    • 很高兴知道它有效。正式接受答案将不胜感激,这也将有助于其他用户。 @jishan
    【解决方案2】:

    这是我发现使用以下方法完成这项工作的唯一方法:

    CI 3 和 Grocery Crud 1.6.1

    $crud->set_rules('name', 'Name', array(
                    'required',
                    array(
                        'company_check',
                        function ($str) {
                            $company = $this->Company_model->searchCompanyByName($str);
                            if (count($company) > 0) {
                                $this->form_validation->set_message('company_check', 'Error, The company already exist.');
                                return false;
                            } else {
                                return true;
                            }
                        }
                    )
                ));
    

    希望对您有所帮助,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-20
      • 2013-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-22
      • 1970-01-01
      相关资源
      最近更新 更多