在警告框中显示错误消息;不删除yii中textfield中的数据

时间:2014-07-09 02:18:46

标签: php yii

actionCreate:

        try
        {
        $this->saveModel($model);
        }
        catch(Exception $e) {
        $this->showError($e);
                    }

function showError:

  function showError(Exception $e)

   {
    if($e->getCode()==23000)
        $message = "This operation is not permitted because it exists in a record.";
    else
        $message = "Invalid operation.";
    throw new CHttpException($e->getCode(), $message);



  } 

如果发现错误,则会重定向到显示错误的窗口。如何在警报消息中显示错误而不是重定向,而不从文本框中删除用户输入的值?

1 个答案:

答案 0 :(得分:0)

尝试在提交时将用户输入的值存储在变量中。 它看起来像这样:

<form class="signup_form" name="signup_form" method="post">
    <dl>
        <dt>
            <label for='username'>Username:</label>
        </dt>
        <dd>
            <input type='text' id= 'username' name='username' placeholder='Username' maxlength='15' value="<?php echo $input->value('username');?>"/>
        </dd><span id='error-msg'><?php echo $input->error_msg('username');?></span>
    </dl>
</form>

注意&#34;值&#34;属性从$ input-&gt;值获取其值(&#39;用户名&#39;)我已设置为接收用户在表单提交时输入的值:

$this->input[$pointer]['value'] = $_POST['username'];

请注意: $ input是我创建的用于处理输入验证的Input类的实例。你可以用另一种方式做到。我们的想法是在表单验证时将值存储在变量中,并在加载页面时再次加载它。