Mam trudną formę w widoku yii2, gdzie niektóre pola pokazują się lub ukrywają. Decyduje o wyborze pola użytkownika, wybiera opcje w formularzu. Piszę tę logikę frontendu z niestandardowym plikiem jquery. Wszystko w porządku. Ale kiedy składam formularz - ukryte pola pozostają bez sprawdzania poprawności i nic się nie dzieje. Jak mogę zabić walidację frontronu, kiedy pola są hiidenowe i włączyć je, kiedy pola są widoczne?Jak włączyć wyłączenie formularza frontend dla niektórych pól w yii2?
Odpowiedz
Aby wyłączyć sprawdzanie poprawności strony klienta. Rozpocznij aktywną formę w ten sposób.
ActiveForm::begin(['enableClientValidation'=>false]);
Można spróbować ustawić domyślne wartości atrybutów, które nie są ustawione:
[
// 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],
]
Można również używać walidacji warunkowy po stronie klienta z "whenClient"
opcji przy określaniu cię walidatory:
Od instrukcji:
Jeśli trzeba także wsparcie po stronie klienta walidacji warunkową, ty należy skonfigurować właściwość whenClient który pobiera ciąg reprezentującą funkcję JavaScript, którego wartość określa zwrot czy zastosować regułę czy nie. Na przykład,
[ ['state', 'required', 'when' => function ($model) { return $model->country == 'USA'; }, 'whenClient' => "function (attribute, value) { return $('#country').val() == 'USA'; }"], ]
można ustawić aktywne pole przy użyciu tego kodu: (nie active record
, activefield
dokładnie)
$activeField = $form->field($model, 'someField');
$activeField->enableClientValidation=false;
$activeField ->enableAjaxValidation=false;
Aby usunąć pole z walidacji:
$('#yourFormID').yiiActiveForm('remove', 'yourinputID');
Aby dodać pole do listy sprawdzania poprawności:
$('#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"});
}
});
I nie zapomnij warunkowego sprawdzania poprawności w swoim modelu. More info
$form->field($model, 'youAttribute', ['enableClientValidation' => false])->textInput();
Klasa ActiveField
ma właściwość enableClientValidation
, można po prostu ustawić tę właściwość do false
jeśli chcesz wyłączyć clientValidation tworzą kilka pól.
- 1. Wyłączenie niektórych pól z serializacji na podstawie wartości w GSON
- 2. wyłączenie formularza symfony2
- 3. Dynamiczne dodawanie pól wejściowych w Yii2
- 4. Automatyczne generowanie pól formularza dla formularza w django
- 5. Wyłącz sprawdzanie poprawności dla niektórych pól
- 6. Wyłączenie niektórych dat z html5 datepicker
- 7. Jak używać niestandardowych pól formularza dla pól modelu w administratorze Django?
- 8. Jak włączyć tryb białych znaków tylko dla niektórych trybów?
- 9. Zgrupowanie pól formularza Django
- 10. Zestaw yii2-jeasyui dla yii2
- 11. Suma ścieżkowa niektórych pól w asocjacji - "sum_cache"
- 12. LINQ - NIE WYBIERANIE niektórych pól?
- 13. Głęboki klon bez niektórych pól
- 14. Odzyskiwanie tylko niektórych pól w RedBean
- 15. Symfony2 wyłączenie sprawdzania poprawności formularza HTML5
- 16. Inline formset w Django - usunięcie niektórych pól
- 17. Sprawdzanie poprawności JQuery - Wyłączenie włączania ostrości tylko dla jednego pola
- 18. Dostosuj błąd sprawdzania poprawności jQuery tylko dla niektórych pól
- 19. Czyszczenie pól formularza Django w przypadku błędu sprawdzania formularza?
- 20. CakePHP 2.3.1 dezaktywacja sprawdzania formularza w niektórych widokach
- 21. Yii2 - Multi language
- 22. Siatka KendoUI - wyłączenie niektórych operatorów filtrów na kolumnę
- 23. Backend i frontend dla aplikacji - Codeigniter
- 24. Składnia ASP.Net MVC6 dla wielu pól wyboru formularza
- 25. Wyłączenie niektórych funkcji z zakresu pokrycia gcov/lcov
- 26. Widok renderingu Yii2
- 27. ZF2 jak zawijać zawartość w zestawie pól formularza?
- 28. Yii2: Czy mogę używać scenariuszy do określania różnych zestawów pól modelu dla różnych działań?
- 29. MS Word Automatyzacja biura - Wypełnianie pól formularza tekstowego i pól formularza pola wyboru i korespondencji seryjnej
- 30. Yii2 tłumaczenie nie działa
Powoduje to ponowne załadowanie strony, a następnie pojawi się komunikat sprawdzania poprawności. Czy możemy zapobiec ładowaniu strony? –
dzięki za wspaniałą pomoc kumpla –