Как Laravel Validate String? - PullRequest
       1

Как Laravel Validate String?

0 голосов
/ 11 января 2019

Когда я использую правило проверки строк Laravel, что именно оно делает? Например, он просто запускает метод php is_string() или он запускает filter_var(), возможно, с константой FILTER_VALIDATE_REGEXP?

Во-вторых, как мне удалить теги с помощью Laravel?

Ответы [ 3 ]

0 голосов
/ 11 января 2019

Вы можете попробовать это

Это некоторые проверки, которые я использовал в моем текущем проекте, он основан на пользовательском вводе.

$username = $request->get('username');
$email = $request->get('email');
$password = $request->get('password');
if (!preg_match("/^[a-zA-Z0-9]*$/", $username)) {
      return abort(403, 'Username should be alphanumeric');
   }
if(strlen($username) < 3 || strlen($username) > 25){
      return abort(403, 'Username should mbe minimum 3 and max 25 characters');
   }
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
      return abort(403, 'Invalid Email Format,eg abc@xyz.com');
   }
if(strlen($password) < 6){
      return abort(403, 'Password should be minimum six characters');
   }

см. https://laravel.com/docs/5.7/validation.

Чтобы вырезать теги в laravel, вы можете использовать в своем коде функцию strip_tags(). Функция strip_tags () удаляет строку из тегов HTML, XML и PHP. HTML-комментарии всегда удаляются. Это нельзя изменить с помощью параметра allow. Эта функция является бинарно-безопасной.

0 голосов
/ 11 января 2019

Когда вы используете проверку строки Laravel, вызывается следующая функция

protected function validateAttribute($attribute, $rule) { ... }

который вы можете найти в

производитель / Laravel / рамки / SRC / Осветите / Validation / Validator.php

и если вы изучите метод, вы найдете этот фрагмент кода

$method = "validate{$rule}";

if ($validatable && ! $this->$method($attribute, $value, $parameters, $this)) {
    $this->addFailure($attribute, $rule, $parameters);
}

который назвал бы черту Concerns\ValidatesAttributes

/**
 * Validate that an attribute is a string.
 *
 * @param  string  $attribute
 * @param  mixed   $value
 * @return bool
 */
public function validateString($attribute, $value)
{
    return is_string($value);
}

и для удаления тегов вы можете использовать метод PHP strip_tags

0 голосов
/ 11 января 2019

Когда я использую правило проверки строк Laravel, что именно оно делает?

Когда вы используете правило проверки строк Laravel, оно только проверяет, является ли проверяемое поле строковым типом или нет .

https://laravel.com/docs/5.0/validation#rule-string

как мне удалить теги с помощью Laravel?

Вы можете использовать функцию strip_tags () :

http://php.net/manual/en/function.strip-tags.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...