2017-08-31 6 views
1

Meine Validierung auf Laravel wie folgt aus:Wie kann ich mehrere tausend Validierung auf Laravel machen?

return Validator::make($data, [ 
    ... 
    'amount' => 'required|integer|min:20000', 
]); 

I der Wert Betrag wollen ein Vielfaches von Tausenden

So ist der Wert, der Eingang

Zum Beispiel nur ein Vielfaches von

Tausende sein kann: 25000, 50000, 151000, 200000 usw.

Die Beispiele von Eingaben, die nicht ein Vielfaches von Tausenden sind: 25500, 50500, 151500, 200500 usw.

Wie kann ich es tun?

Antwort

4

können Sie die Modulo dieser Zahl nehmen ת diese Logik implementieren eine benutzerdefinierte Validierungsregel: https://laravel.com/docs/5.4/validation#custom-validation-rules

so etwas tun sollte:

Validator::extend('mod1000', function ($attribute, $value, $parameters, $validator) { 
      return $value % 1000 == 0; 
    }); 
+0

Ja, das weiß ich. Aber wie mache ich es in Laravel-Validierung. Wenn Laravel Validierung, muss es hier hinzugefügt werden: ''Betrag' => 'erforderlich | Integer | min: 20000','. Aber ich bin immer noch verwirrt, wie kann ich es hinzufügen –

+1

@SuccessMan siehe diese Frage https://stackoverflow.com/questions/32036882/laravel-validate-a-integer-field-that-needs-to-be-greater-than -eine andere könnte Ihnen helfen –

+0

@SuccessMan ändern Sie Ihre Validierung wie folgt '' Betrag '=>' erforderlich | ganze Zahl | min: 20000 | mod1000''. –

1

Sie regulären Ausdruck für eine solche Validierung wie folgt verwenden können :

return Validator::make($data, [ 
    ... 
    'amount' => 'required|integer|regex:/^[1-9]+[0-9]*000$/', 
]); 

Die letzten drei Nullen im Ausdruck sind für Tausende. Die erste Nummer sollte nicht Null sein, und alle Zahlen dazwischen sind eine perfekte Bestätigung für Ihren Fall.

hoffe du verstehst.

+0

Es gibt einen Fehler: 'preg_match(): Kein Ende Trennzeichen '^' gefunden ' –

+0

@SuccessMan Sie müssen es möglicherweise mit \ – Wreigh

+0

@SuccessMan entkommen Ich hatte vergessen,'/'drüben hinzuzufügen. Ich habe aktualisiert. –

Verwandte Themen