2017-11-29 8 views
2

Modellcode geben:yii2 Formulardatei Widget Validierungsfehler bei jedem Update

[['thumbnail_image'], 'required', 'message' => 'Please upload an image.'], 

Ansicht:

$form->field($model, 'thumbnail_image')->fileInput(['accept' => 'image/*', 'onchange' => 'readURL(this)'])->label('Thumbnail Image', ['class' => 'control-label thumbnail-image-class']) 

Datei Eingangskräfte Hochladen der Datei mit jedem Update. sogar Daumenbildwert verfügbar, aber es wird ein Fehler zum Daumenbild benötigt.

+0

Willkommen. Fügen Sie Quellcode (und Screenshots) in Ihre Frage ein, damit andere Ihr Problem verstehen können. Stellen Sie den Quellcode Ihres Modells, der Controller-Aktion und der Ansicht bereit. Unter https://stackoverflow.com/help/how-to-ask finden Sie eine Frage dazu. –

+0

Hier ist mein Formularcode: - echo $ form-> field ($ modell, 'thumbnail_image') -> fileInput ([ 'akzeptieren' => 'image/*', 'onchange' => 'readURL (this)']) -> label ('Vorschaubild', ['class' => 'control-label thumbnail-image-class']) und hier ist mein Modellcode: - [['thumbnail_image'], 'erforderlich', 'Nachricht' => 'Bitte ein Bild hochladen.'], – labana

+0

Bitte, stellen Sie es auf Ihre Frage Körper und Format als Code –

Antwort

1

ich ein Problem mit der bedingten Validierung von YII2 Hochladen sorgfältig http://www.yiiframework.com/doc-2.0/guide-input-file-upload.html ordnungsgemäß umzusetzen Datei lesen. Wir müssen überprüfen, ob ein aktuelles Bild vorhanden ist oder nicht. 0 für nicht erforderlich

[['thumbnail_image'], 'required', 'message' => 'Please upload an image.', 'when' => function($model) { 
      return ($model->thumbnail_image) ? 0:1; 
      }, 'whenClient' => "function (attribute, value) { 
       if ($('#thumb_id').val() == '') { 
        return 1; 
       } else { 
        return 0; 
       } 
      }"], 
0

Verwenden ImageValidator, um Bilder zu validieren und uploadRequired Eigenschaft

[['thumbnail_image'], 'file', 'uploadRequired' => true', 'skipOnEmpty' => false, 'extensions' => 'png, jpg'], 

Und

+0

danke für Hilfe. – labana