Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony]Nowy walidator
kamil.deb
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 1
Dołączył: 13.06.2009

Ostrzeżenie: (0%)
-----


Witam

Chciałbym napisać nowy validator sprawdzający np. czy pierwsza litera wyrazu jest napisana wielką literą. Gdzie taką f. powinienem napisać.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
m-naw
post
Post #2





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 22.06.2009

Ostrzeżenie: (0%)
-----


Przyznaje się, można to rozwiązać prościej. Co do błędów to moim zamierzeniem było użycie tego walidatora jako PostValidator (dlatego ValidatorSchema nie Base). Wcześniej pole byłoby sprawdzone sfValidatorString. No ale racja nie jest to dobre rozwiązanie.

  1. <?php
  2.  
  3. class myValidatorFirstLetter extends sfValidatorRegex
  4. {
  5.  
  6.  protected function configure($options = array(), $messages = array())
  7.  {
  8.    parent::configure($options, $messages);
  9.  
  10.    $this->setMessage('invalid', 'String musi składać się z liter i zaczynać się z dużej litery');
  11.    $this->setMessage('required', 'Proszę podać string');
  12.  
  13.    $this->setOption('pattern', '/^[A-Za-zĘÓĄŚŁŻŹŃęóąśłżźćń]+$/');
  14.  }
  15.  
  16.  protected function doClean($value)
  17.  {
  18.    $clean = parent::doClean($value);
  19.  
  20.    if(ucfirst($clean) != $clean)
  21.    {
  22.        throw new sfValidatorError($this, 'invalid');
  23.    }
  24.    
  25.    return $clean;
  26.  }
  27. }
  28. ?>


Jak widać to jest przypadek gdzie string miałby się składać z samych liter. A jaki wzorzec należałoby podać do sfValidatorRegex aby go użyć w tym przypadku?

Ten post edytował m-naw 2.07.2009, 14:10:50
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 20:58