W jaki sposób sprawdzasz poprawność pola w programie cakephp 3.0? Wygląda na to, że w API nie ma funkcji sprawdzania poprawności.Sprawdzanie poprawności pól jako unikalnych w cakephp 3.0
Odpowiedz
Chcesz użyć reguły validateUnique
. Na przykład, aby sprawdzić adres e-mail jest unikatowa na zasadzie UsersTable
: -
public function validationDefault(Validator $validator)
{
$validator->add(
'email',
['unique' => [
'rule' => 'validateUnique',
'provider' => 'table',
'message' => 'Not unique']
]
);
return $validator;
}
Szczegóły można znaleźć w the API docs.
Dostawcami sprawdzania poprawności mogą być obiekty lub nazwy klas. Jeśli używana jest nazwa klasy, metody muszą być statyczne. Aby korzystać dostawcy innego niż domyślne „”, należy ustawić klucz provider
w regule:
// Use a rule from the table provider
$validator->add('title', 'unique', [
'rule' => 'uniqueTitle',
'provider' => 'table'
]);
Aby uzyskać więcej informacji, spójrz na sekcję w książce CakePHP3 Adding Validation Providers.
trzeba użyć zasady z ORM Cake na stole ...
dodać to na górze UsersTable po nazw
use Cake\ORM\Rule\IsUnique;
Następnie przygotować regułę stosuje się do danej dziedzinie przez umieszczenie go w funkcji publicznej
public function buildRules(RulesChecker $rules){
$rules->add($rules->isUnique(['email']));
return $rules;
}
zapoznać się z dokumentacją cakephp uzyskać więcej informacji o RULES
To powinno być oznaczone jako poprawna odpowiedź! – Andy
Jak wyświetlić niestandardową wiadomość zamiast "Dostarczona wartość jest nieprawidłowa" dla unikalnych pól? –
Poprawiam się, isUnique ma tylko 2 parametry, 'public function isUqueque (array $ fields, $ message = null) {' , więc twój kod będzie podobny: '$ rules-> add ($ rules-> isUnique (['email'], "Twoja wiadomość tutaj!")); ' – Rod
- 1. CakePHP 3.0 - Sprawdzanie poprawności wyrażenia regularnego
- 2. Sprawdzanie poprawności JQuery: Sprawdzanie poprawności ukrytych pól
- 3. Sprawdzanie poprawności pól modelu Django
- 4. Sprawdzanie poprawności wszystkich pól w GUI Swing
- 5. Bootstrap twitter 3.0 i knockoutjs sprawdzanie poprawności
- 6. Wyłącz sprawdzanie poprawności dla niektórych pól
- 7. JQuery Sprawdzanie poprawności poszczególnych zestawów pól
- 8. Szyny 3.2 Sprawdzanie poprawności - wiele pól
- 9. Sprawdzanie poprawności HTML5 i porównanie pól
- 10. Sprawdzanie poprawności dynamicznie dodawanych pól wejściowych
- 11. Sprawdzanie poprawności sprawdzania poprawności Knockout sprawdzanie poprawności
- 12. sprawdzania poprawności ukrytych pól
- 13. Przycisk radiowy CakePHP 3.0
- 14. Sprawdzanie poprawności pól nie występuje w formularzu, ale w Entity
- 15. Sprawdzanie poprawności lub usuwanie dodatkowych pól w języku laravel
- 16. Sprawdzanie poprawności cakephp z obu modeli i kontrolera
- 17. Sprawdzanie poprawności AJAX Symfony2
- 18. CakePHP-3.0 sortuj/zamów myląc
- 19. Jak wyłączyć sprawdzanie poprawności gramatycznej pól tekstowych typu wejściowego
- 20. Czy mogę pomijać sprawdzanie poprawności UA pól "e-mail" HTML5?
- 21. Sprawdzanie poprawności wielu pól tekstowych za pomocą errorprovider
- 22. prosty formularz ajax w CakePHP 3.0
- 23. Sprawdzanie poprawności modelu szkieletowego
- 24. Sprawdzanie poprawności argumentów w Ruby?
- 25. unikalne sprawdzanie poprawności w DDD
- 26. Sprawdzanie poprawności json w php
- 27. Sprawdzanie poprawności @ Html.Textbox w MVC4
- 28. Wyłącz sprawdzanie poprawności w seeds.rb
- 29. cakephp Komunikat reguły sprawdzania poprawności niestandardowej
- 30. C# AcceptButton i sprawdzanie poprawności
Wielkie dzięki! Używałem buildRules (RulesChecker $ rules), które działało poprawnie, ale nie dało prawidłowego komunikatu o błędzie – pkk
Znaleziony problem nie działa podczas edycji. Czy możesz pomóc? – pkk