Returns the first error of the specified attribute.
public getFirstError ( string $attribute ) : string | ||
$attribute | string | attribute name. |
리턴 | string | the error message. Null is returned if no error. |
/** * Generates a tag that contains the first validation error of the specified model attribute. * Note that even if there is no validation error, this method will still return an empty error tag. * @param Model $model the model object * @param string $attribute the attribute name or expression. See [[getAttributeName()]] for the format * about attribute expression. * @param array $options the tag options in terms of name-value pairs. The values will be HTML-encoded * using [[encode()]]. If a value is null, the corresponding attribute will not be rendered. * * The following options are specially handled: * * - tag: this specifies the tag name. If not set, "div" will be used. * - encode: boolean, if set to false then the error message won't be encoded. * * See [[renderTagAttributes()]] for details on how attributes are being rendered. * * @return string the generated label tag */ public static function error($model, $attribute, $options = []) { $attribute = static::getAttributeName($attribute); $error = $model->getFirstError($attribute); $tag = isset($options['tag']) ? $options['tag'] : 'div'; $encode = !isset($options['encode']) || $options['encode'] !== false; unset($options['tag'], $options['encode']); return Html::tag($tag, $encode ? Html::encode($error) : $error, $options); }
/** * Generates a tag that contains the first validation error of the specified model attribute. * Note that even if there is no validation error, this method will still return an empty error tag. * @param Model $model the model object * @param string $attribute the attribute name or expression. See [[getAttributeName()]] for the format * about attribute expression. * @param array $options the tag options in terms of name-value pairs. The values will be HTML-encoded * using [[encode()]]. If a value is null, the corresponding attribute will not be rendered. * * The following options are specially handled: * * - tag: this specifies the tag name. If not set, "div" will be used. * * See [[renderTagAttributes()]] for details on how attributes are being rendered. * * @return string the generated label tag */ public static function error($model, $attribute, $options = []) { $attribute = static::getAttributeName($attribute); $error = $model->getFirstError($attribute); $tag = isset($options['tag']) ? $options['tag'] : 'div'; unset($options['tag']); return Html::tag($tag, Html::encode($error), $options); }
/** * Returns response for case when file was not saved. * @param \yii\base\Model $model the model that has been validated. * @param string $attribute the name of validated attribute. * @return array array of json response. */ protected function returnFileValidateError($model, $attribute) { return ['success' => false, 'message' => $model->getFirstError($attribute)]; }
/** * Generates a tag that contains the first validation error of the specified model attribute. * Note that even if there is no validation error, this method will still return an empty error tag. * @param Model $model the model object * @param string $attribute the attribute name or expression. See [[getAttributeName()]] for the format * about attribute expression. * @param array $options the tag options in terms of name-value pairs. The values will be HTML-encoded * using [[encode()]]. If a value is null, the corresponding attribute will not be rendered. * * The following options are specially handled: * * - tag: this specifies the tag name. If not set, "div" will be used. * See also [[tag()]]. * - encode: boolean, if set to false then the error message won't be encoded. * * See [[renderTagAttributes()]] for details on how attributes are being rendered. * * @return string the generated label tag */ public static function error($model, $attribute, $options = []) { $attribute = static::getAttributeName($attribute); $error = $model->getFirstError($attribute); $tag = ArrayHelper::remove($options, 'tag', 'div'); $encode = ArrayHelper::remove($options, 'encode', true); return Html::tag($tag, $encode ? Html::encode($error) : $error, $options); }
/** * Return errors as bulleted list for model * * @param Model $model * * @return string */ public static function showErrors($model) { $errors = []; foreach ($model->getAttributes() as $attribute => $setting) { $error = $model->getFirstError($attribute); if (trim($error) != null) { $errors[] = $error; } } return '<ul><li>' . implode("</li>\n<li>", $errors) . '</li></ul>'; }