get_message($msg = false, $open = '', $close = '')
取回错误訊息并允許改寫。
靜態 | 否 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參数 |
|
||||||||||||||||
回傳 | 字串 | ||||||||||||||||
範例 |
|
类別幫助你驗證使用者輸入,如果你想要同時建立一个表单&它的驗證, 使用 Fieldset 类別代替。
错误被回傳做为 Validation_Error 物件,你可以使用更加靈活的輸出, 如果你不需要它,只要轉換 Validation_Error 物件为一个字串來取得错误訊息。
错误訊息是使用一个自动載入的語言档案 "validation.php" 來設定。
有兩種方式在驗證過程中操縱错误訊息。
// 为特定的 validation 物件變更错误訊息
$val->set_message('required', 'The field :label is required.');
// 或为特定欄位變更訊息,不管實際上的错误
echo $val->error('username')->get_message('The field :label must be filled out before auth is attempted.');
// 輸出 "The field Your username must be filled out before auth is attempted." 當驗證 username
// 失敗,或在還沒驗證或驗證成功時沒東西。
你可能已经注意到,错误訊息接受一組被欄位的特性取代的變数。 以下是一个可用變数的列表:
變数 | 描述 |
---|---|
:field | 将被欄位的名稱替代。 |
:label | 将被欄位的标籤替代。 |
:value | 将被欄位的值替代,該值不能被驗證。 |
:rule | 将被失敗的規則替代,包含的規則将只有它們的名稱, 其他的会是字串回呼(callback)或 classname:method(这也将是鍵, 你必須添加一个驗證規則,如果你想要的話)。 |
:param:1 | 将被第一个附加參数的值替代,:param:2 会是第二个, 以此类推。 |
完整的回呼(callback)規則或閉包(closure)也可以被命名,預設情況下,它們的名稱会是:
如果你想要給它們替代的自訂名稱,你可以像这樣做:
// 添加一个檢查輸入是否是偶数的規則
// 它可以使用 ->set_message('odd', ':label is not odd.') 或使用一个語言鍵 'validation.odd'
$field->add_rule(array('odd' => function($val) { return (bool) ($val % 2); }));
驗證回傳错误物件,它實際上是在驗證過程中拋出的例外。 这些物件可以被轉換为字串为了取得他們的實際訊息, 或被用为物件來取回關於错误的詮釋資料。
$error->field
包含造成此错误的 Fieldset_Field
物件的參照。
$error->value
包含驗證失敗的值。
$error->rule
包含失敗的驗證規則的名稱。
對於大多数的規則來說,这会是傳遞做为驗證規則的字串。
但當特定名稱時,它也可以是另一个字串。
傳遞回呼(callback)像 'Class::method'
、array('Class', 'method')
或
array($object, 'method')
,这将是一个简化的形式:
'Classname:methodname'
。
这将包含傳遞給驗證規則的任何附加參数。例如,
當使用 ->add_rule('max_length', 25)
,这将包含 array(25)
。
取回错误訊息并允許改寫。
靜態 | 否 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參数 |
|
||||||||||||||||
回傳 | 字串 | ||||||||||||||||
範例 |
|