3

誰かがこれで私を助けることができるかどうか疑問に思っています。現在、タンク認証を自分の codeigniter サイトに統合しようとしています。私はゆっくりとそこに到達していますが、エラーメッセージをhtmlビューの一部として表示することからjavascriptアラートに移動したときに、エラーメッセージの周りの段落タグをまだ出力しているという小さなつまずきブロックに遭遇しました.

ログインフォームに配列/または多次元配列として渡されるエラーメッセージは、次のコード行によってコントローラーで生成されると思います。

$data['errors'] = array();
foreach ($errors as $k => $v)   $data['errors'][$k] = $this->lang->line($v);

エラーメッセージを表示するための私のコードは次のとおりです。

if ((isset($errors[$login['name']]))||(isset($errors[$password['name']]))||(form_error($login['name']))||(form_error($password['name']))){
        echo'<script type="text/javascript">alert("';
}
echo form_error($login['name']);
echo isset($errors[$login['name']])?$errors[$login['name']]:'';
echo form_error($password['name']); 
echo isset($errors[$password['name']])?$errors[$password['name']]:'';
if ((isset($errors[$login['name']]))||(isset($errors[$password['name']]))||(form_error($login['name']))||(form_error($password['name']))){
        echo'")</script>';
}

ここでの私の主な質問は、段落タグを削除する方法であり、codeigniter のドキュメントで手がかりを見つけました : http://codeigniter.com/user_guide/libraries/file_uploading.htmlこれを行うことにより、アップロード スクリプトのエラーの区切り記号:

$this->upload->display_errors('<p>', '</p>');

しかし、これをタンク認証に適用する方法と場所がわかりません。

エラーメッセージを表示するコードに少し混乱しています。例えば:

echo form_error($password['name'])

誰かが私にこれを説明できますか、それは最初に $ がないので変数ではないので、それは何ですか?現時点では信じられないほど長くなっており、処理すべきエラー メッセージがたくさんあります。

ここで対処すべきことがたくさんあることに感謝しますが、どんな助けや説明もありがたく受け取られます.

4

1 に答える 1

20

エラー メッセージをラップしているタグを削除するにはset_error_delimiters()、パラメーターとして 2 つの空の文字列を指定して Form Validation オブジェクトのメソッドを呼び出す必要があります。

$this->form_validation->set_error_delimiters('', '');

詳細: https://codeigniter.com/user_guide/libraries/form_validation.html#ching-the-error-delimiters

2番目の質問については、実際に何を求めているのかわかりません。呼び出しの戻り値がユーザーに出力されるのは関数呼び出しだけです。

于 2012-04-14T14:41:20.273 に答える