In meiner Yii2-Anwendung versuche ich ein Feld zu validieren, das ich benutze für die Eingabe des Benutzernamens mit einer benutzerdefinierten Validierungsmethode, die überprüft, ob dieses Feld Leerzeichen enthält.Yii2 validate username
class SomeModel extends Model
{
public $username;
public $email;
public $password;
public function rules()
{
return
[
// Other rules
[
[
'username',
'password',
],
function ($attribute, $params)
{
if (preg_replace('/\s+/', '', $this->attribute)) {
$this->addError($attribute, 'No white spaces allowed!');
}
},
],
],
}
Das Problem, das nicht funktioniert. Datensätze werden mit einigen Leerzeichen gespeichert.
Aus Sicht ist dies das Feld:
<?= $form->field($model, 'username')->textInput(['class' => 'form-control', 'autocomplete' => 'off', 'placeholder' => 'Username'])->label(FALSE); ?>
Haben Sie versucht, [Filter] (http://www.yiiframework.com/doc-2.0/guide-tutorial-core-validators. html # filter) – dod29
ändere 'user_username' in' username' wie '= $form-> field ($ modell, 'username') -> textInput (['class' => 'form-control', 'autocomplete' => 'off', 'Platzhalter' => 'Benutzername']) -> Label (FALSE); ?> ' – vishuB
Sie möchten einen Fehler ausgeben, wenn der Benutzername oder das Passwort Leerzeichen enthält? Oder möchten Sie die weißen Felder ersetzen? –