2016-12-21 5 views
0

Ich habe in meinem Modell classsWie definieren Regeln Mustermuster Regex max 6 Zeichen?

[['kode_pos', 'p_kode_pos'], 'match', 'pattern' => '/^[a-zA-Z0-9 ]{0,6}+$/'], 

Above Code folgende Regel angeben, funktioniert nicht mit i Eingang etwas und kein Fehler in meinem Eingabefeld angezeigt. wenn der Eingang erscheint nur Buchstaben, Zahlen, Raum und Fehler enthalten Sonderzeichen arbeitet

aber mit dieser Regel

[['kode_pos', 'p_kode_pos'], 'match', 'pattern' => '/^[a-zA-Z0-9 ]+$/'], 

Es. aber wie definiert man max 6 char?

+0

Try Muster hinzuzufügen '/^[\ w] {0 , 6} $/'. – lubosdz

Antwort

0

verwenden (Remove Plus)

[['kode_pos', 'p_kode_pos'], 'match', 'pattern' => '/^[a-zA-Z0-9 ]{0,6}$/'], 
+0

Danke, aber es funktioniert nicht wie erwartet, geben Sie einfach 123 und es zeigt ungültige, geben Sie Buchstaben weniger als 6 Zeichen zeigen ungültige und ich kann mehr als 6 Zeichen eingeben. hat es sowieso gerade gelöst. –

+0

Was? Das muss funktionieren ... – Bizley

+0

Entschuldigung, mein Fehler, Sie müssen die erste Nummer der Reichweite hinzufügen, Sie können die zweite überspringen, nicht umgekehrt. Also '{0,6}' und nicht '{, 6}' – Bizley

0

Versuchen Sie, diesen Code

[['kode_pos', 'p_kode_pos'], 'string', 'max' => 6], 
+1

Dies erlaubt andere Zeichen als im Muster wie '-',', 'und so weiter. – Bizley

+0

gab es einen Versuch wie das, was Sie sagen, aber es funktioniert wie erwartet, wenn ich '-',', 'es zeigen Fehler eingeben. –

+1

Es gibt keine Möglichkeit, dass die 'string'-Regel mit' max'-Parameter nur zu einem Fehler führen kann, wenn Sie '-' oder', 'eingeben – Bizley

0

Verwenden zwei

verschiedene validator
[['fieldName'], 'string', 'max' => 6,'tooLong' => 'field exceeded max length'], 
[['fieldName'], 'match', 'pattern' => '/^[a-zA-Z0-9 ]+$/','message'=>'invalid format'],