getFirstError() public method

Returns the first error of the specified attribute.
See also: getErrors()
See also: getFirstErrors()
public getFirstError ( string $attribute ) : string
$attribute string attribute name.
return string the error message. Null is returned if no error.
Example #1
0
 /**
  * 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);
 }
Example #2
0
 /**
  * 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);
 }
Example #3
0
 /**
  * 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)];
 }
Example #4
0
 /**
  * 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);
 }
Example #5
0
 /**
  * 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>';
 }