2016-06-14 15 views

Odpowiedz

8

można przedłużyć walidator z własnych zasad niestandardowych:

Validator::extend('without_spaces', function($attr, $value){ 
    return preg_match('/^\S*$/u', $value); 
}); 

Następnie wystarczy użyć jak każda inna reguła:

required|without_spaces|unique:user_detail,username 

Checkout docs na niestandardowe reguły sprawdzania oryginalności:

https://laravel.com/docs/5.2/validation#custom-validation-rules

+0

Dzięki! To działa jak urok! – fzlrhmn

1

Powinieneś używać wyrażenia regularnego z walidacją.

PHP:

required|unique:user_detail,username,'regex:/\s/' 
+0

Dzięki! Ale powinno to być 'regex:/^ \ S * $/u' – fzlrhmn

11

Dlaczego nie używasz alpha_dashrule?

required|alpha_dash|unique:user_detail,username 

Z dokumentacji:

Pole pod zatwierdzania może mieć znaki alfanumeryczne oraz jak łączniki i podkreślenia.

I nie pozwala na spacje.

+0

alpha nie zezwoli na przykład na podkreślenia. – scrubmx

+1

[alpha_dash] (https://laravel.com/docs/5.2/validation#rule-alpha-dash)? – huuuk

+0

alpha_dash może działać, wszystko zależy od znaków, które chcesz dopuścić. Łańcuch podobny do: "(╯ ° □ °) ╯" również nie powiedzie się sprawdzanie poprawności alpha_dash – scrubmx

Powiązane problemy