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)
。
取回错误讯息并允许改写。
静态 | 否 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
| ||||||||||||||||
回传 | 字串 | ||||||||||||||||
範例 |
|