Ho una forma difficile nella vista yii2, dove alcuni campi mostrano o nascondono. Decide dalle selezioni del campo utente, seleziona le opzioni nel modulo. Scrivo questa logica frontend con un file jQuery personalizzato. Va tutto bene. Ma quando invio la form - i campi nascosti rimangono senza convalida e nulla è successo. Come posso uccidere la convalida del feedback, quando i campi sono hiiden e accenderlo, quando i campi sono visibili?Come attivare la convalida del modulo di frontend off per alcuni campi in yii2?
risposta
Per disabilitare la convalida del lato client. Inizia la tua forma attiva in questo modo.
ActiveForm::begin(['enableClientValidation'=>false]);
Si può provare a impostare valori di default per gli attributi che non sono impostati:
[
// set "username" and "email" as null if they are empty
[['username', 'email'], 'default'],
// set "level" to be 1 if it is empty
['level', 'default', 'value' => 1],
]
È inoltre possibile utilizzare la convalida condizionale lato client con "whenClient"
opzione quando si definisce si validatori:
Dal manuale:
Se hai bisogno anche di supportare la convalida condizionale sul lato client, si necessario configurare la proprietà whenClient che prende una stringa che rappresenta una funzione JavaScript il cui valore di ritorno determina se applicare la regola oppure no. Ad esempio,
[ ['state', 'required', 'when' => function ($model) { return $model->country == 'USA'; }, 'whenClient' => "function (attribute, value) { return $('#country').val() == 'USA'; }"], ]
È possibile impostare il campo attivo utilizzando questo codice: (non active record
, activefield
esattamente)
$activeField = $form->field($model, 'someField');
$activeField->enableClientValidation=false;
$activeField ->enableAjaxValidation=false;
Per rimuovere un campo da convalida:
$('#yourFormID').yiiActiveForm('remove', 'yourinputID');
Per aggiungere un campo all'elenco di convalida:
$('#yourFormID').yiiActiveForm('add', {
id: 'country',
name: 'yourinputID',
container: '.field-inputID', //or your cllass container
input: '#yourinputID',
error: '.help-block', //or your class error
validate: function (attribute, value, messages, deferred, $form) {
yii.validation.required(value, messages, {message: "Validation Message Here"});
}
});
E non dimenticare la convalida condizionale nel modello. More info
$form->field($model, 'youAttribute', ['enableClientValidation' => false])->textInput();
La classe ActiveField
ha una proprietà enableClientValidation
, si può semplicemente impostare questa proprietà false
se si desidera disabilitare clientValidation formare alcuni campi.
- 1. Come attivare la rimozione di spazi bianchi off per alcuni file in Sublime Text 2?
- 2. cst di bootstrap personalizzato per frontend YII2
- 3. Yii2: convalida del modulo Ajax su un modulo inviato Ajax
- 4. Yii2 richiesta di convalida all'aggiornamento
- 5. L'aggiunta di alcuni altri campi al modulo in yii2 utilizzando AJAX
- 6. Come disabilitare la convalida del modulo per ng-clic?
- 7. Convalida modulo con campi dipendenti in AngularJS
- 8. Come cancellare alcuni campi nel modulo - Redux-Form
- 9. is_unique per la convalida del modulo codeigniter
- 10. La convalida del modulo Bootstrap convalida tutti i campi all'interno dello stesso gruppo di moduli
- 11. Come attivare la convalida DataBinding per tutti i controlli?
- 12. Come attivare manualmente la convalida della molla?
- 13. Convalida del modulo Symfony2 basata su due campi
- 14. attivare il caching off in modalità di debug in Django
- 15. Come attivare manualmente la convalida con jQuery validate?
- 16. Attivare manualmente la convalida html5 al clic del pulsante
- 17. YII2: aggiungi campi modulo dinamici e relative convalide
- 18. Convalida modulo MVC su più campi
- 19. Disabilitare la convalida per determinati campi
- 20. Come escludere alcuni campi del documento
- 21. AngularJS: impedisce la convalida dei campi modulo nascosti
- 22. Come utilizzare la convalida del modulo in Drupal 7
- 23. modulo di convalida zf2: come posso convalidare i campi dipendenti?
- 24. Flag globale per attivare/disattivare la convalida in Prismatic/Schema?
- 25. Playframework IllegalStateException dopo la convalida del modulo
- 26. Angular.js - la convalida del modulo emette eventi?
- 27. Disabilita la convalida del modulo nel browser
- 28. Django pagliaio, la priorità per alcuni campi in cerca
- 29. Yii2: Posso utilizzare scenari per specificare diversi set di campi del modello per diverse azioni?
- 30. Yii2, messaggio di convalida personalizzato con nomi di attributo
Ricarica la pagina e viene visualizzato il messaggio di convalida. Possiamo impedire il caricamento della pagina? –
grazie per l'aiuto fantastico amico –