WP MVC表单字段的验证在没有描述的情况下生成错误

时间:2014-12-29 13:08:43

标签: php wordpress validation

我使用WP MVC中给出的方法验证了我的表单字段,它只闪烁了条形图,并且没有在条形图中给出描述。我在这里添加了代码和屏幕截图。任何疯狂的猜测或想法来修复这个?

Add Currency Error

在模型中,我给出了验证码:

/app/model/currency.php

var $validate = array(
    'currency_title'    =>  array(
                'rule'      =>  'not_empty',
                'pattern'   =>  '/^[A-Za-z]/',
                'message'   =>  'Enter Capitalized Currency Title'),

    'currency_code'     => array(
                'rule'      =>  'not_empty',
                'pattern'   =>  '/[A-Z]/',
                'message'   =>  'Enter Currency Code - CAPITAL Alphabets only'),

    'currency_numeric_code' => array(
                'rule'      =>  'not_empty',
                'rule'      =>  'numeric',
                'message'   =>  'Enter Currency Numeric Code - Only Numbers')
 );

admin_controller中的create_or_save()函数将被覆盖:

public function create_or_save() {

if (!empty($this->params['data'][$this->model->name])) {
    $object = $this->params['data'][$this->model->name];
    if (empty($object['id'])) {
        // This 'if' is necessary for the fields in the form to be validated
        if ($this->model->create($this->params['data'])) {  
            $id = $this->model->insert_id;
            $url = MvcRouter::admin_url(array('controller' => $this->name, 'action' => $this->_redirect_action, 'id' => $id));
            $this->flash('notice', 'Successfully created!');
        }
        else
        {
            $this->flash('error', $this->model->validation_error_html);
        }   
        $this->redirect($url, $msg);
    }
    else
    {
        if ($this->model->save($this->params['data'])) {
            $this->flash('notice', 'Successfully saved!');
            $url = MvcRouter::admin_url(array('controller' => $this->name, 'action' => $this->_redirect_action, 'id' => $id));
            $this->redirect($url);
        }
        else
            {
                $this->flash('error', $this->model->validation_error_html);
            }
        }
    }
}

在上面的代码中,第三个' if'条件是成功验证的条件,但它被跳过,第一个' else'满足条件只显示上面给出的屏幕截图。

等待有用的帮助/想法/猜测。

感谢。

1 个答案:

答案 0 :(得分:0)

create_or_save()函数被添加到每个模型的admin_controller中以验证字段。

我不知道这是否是唯一可用的解决方案,并且是合法的,但问题现在已经解决了。

这种方法与“代码可重用性”政策形成对比,在创建替代解决方案之前,我离开了,但现在,请遵循这种方法。

谢谢大家。