Skip to main content

[symfony] Assert in Entity

* @Assert\NotBlank()

* @Assert\Blank()

* @Assert\NotNull()

* @Assert\Null()

* @Assert\True(message = "The token is invalid")

* @Assert\False(
*     message = "You've entered an invalid state."
* )

* @Assert\Type(type="integer", message="The value {{ value }} is not a valid {{ type }}.")

is_
array
bool
callable
float
double
int
integer
long
null
numeric
object
real
resource
scalar
string

ctype_
alnum
alpha
cntrl
digit
graph
lower
print
punct
space
upper
xdigit


* @Assert\Email(
*     message = "The email '{{ value }}' is not a valid email.",
*     checkMX = true
* )

* @Assert\Length(
*      min = 2,
*      max = 50,
*      minMessage = "Your first name must be at least {{ limit }} characters long",
*      maxMessage = "Your first name cannot be longer than {{ limit }} characters long"
* )
*/

* @Assert\Url()

* @Assert\Regex("/^\w+/")

* @Assert\Regex(
*     pattern="/\d/",
*     match=false,
*     message="Your name cannot contain a number"
* )

* @Assert\Ip

* @Assert\Uuid

* @Assert\Range(
*      min = 120,
*      max = 180,
*      minMessage = "You must be at least {{ limit }}cm tall to enter",
*      maxMessage = "You cannot be taller than {{ limit }}cm to enter"
* )

* @Assert\EqualTo(
*     value = 20
* )

* @Assert\NotEqualTo(
*     value = 15
* )

* @Assert\IdenticalTo(
*     value = 20
* )

* @Assert\NotIdenticalTo(
*     value = 15
* )

* @Assert\LessThan(
*     value = 80
* )

* @Assert\LessThanOrEqual(
*     value = 80
* )

* @Assert\GreaterThan(
*     value = 18
* )

* @Assert\GreaterThanOrEqual(
*     value = 18
* )

* @Assert\Date() ---- YYYY-MM-DD

* @Assert\DateTime() ---- YYYY-MM-DD HH:MM:SS

* @Assert\Time() ---- HH:MM:SS


* @Assert\Choice(choices = {"male", "female"}, message = "Choose a valid gender.")

* @Assert\Choice(callback = "getGenders") ---- should use with below
public static function getGenders()
{
return array('male', 'female');
}

* @Assert\Choice(callback = {"Util", "getGenders"}) ---- with other class method

* @Assert\Collection(
*     fields = {
*         "personal_email" = @Assert\Email,
*         "short_bio" = {
*             @Assert\NotBlank(),
*             @Assert\Length(
*                 max = 100,
*                 maxMessage = "Your short bio is too long!"
*             )
*         }
*     },
*     allowMissingFields = true
* )

* @Assert\Collection(
*     fields={
*         "personal_email"  = @Assert\Required({@Assert\NotBlank, @Assert\Email}),
*         "alternate_email" = @Assert\Optional(@Assert\Email)
*     }

* @Assert\Count(
*      min = "1",
*      max = "5",
*      minMessage = "You must specify at least one email",
*      maxMessage = "You cannot specify more than {{ limit }} emails"
* )


use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/**
 * @ORM\Entity
 * @UniqueEntity("email")
 */
class Author
{
   /**
     * @var string $email
     *
     * @ORM\Column(name="email", type="string", length=255, unique=true)
     * @Assert\Email()
     */
    protected $email;
}

use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/**
 * @ORM\Entity
 * @UniqueEntity(
 *     fields={"host", "port"},
 *     errorPath="port",
 *     message="This port is already in use on that host."
 * )
 */
class Service
{
    /**
     * @ORM\ManyToOne(targetEntity="Host")
     */
    public $host;

    /**
     * @ORM\Column(type="integer")
     */
    public $port;
}



* @Assert\File(
*     maxSize = "1024k",
*     mimeTypes = {"application/pdf", "application/x-pdf"},
*     mimeTypesMessage = "Please upload a valid PDF"
* )

* @Assert\Image(
*     minWidth = 200,
*     maxWidth = 400,
*     minHeight = 200,
*     maxHeight = 400
* )

* @Assert\Image(
*     allowLandscape = false
*     allowPortrait = false
* )

* @Assert\CardScheme(schemes = {"VISA"}, message = "Your credit card number is invalid.")
AMEX
CHINA_UNIONPAY
DINERS
DISCOVER
INSTAPAYMENT
JCB
LASER
MAESTRO
MASTERCARD
VISA

* @Assert\Currency ---- http://en.wikipedia.org/wiki/ISO_4217

* @Assert\Luhn(message = "Please check your credit card number.")

* @Assert\Iban(message = "This is not a valid International Bank Account Number (IBAN).")
     
* @Assert\Isbn(
*     type = isbn10, ---- (or isbn13 or null)
*     message: This value is not  valid.
* )  

* @Assert\Issn

/**
* @Assert\All({
*     @Assert\NotBlank,
*     @Assert\Length(min = 5)
* })
*/
protected $favoriteColors = array();


class Author
{
    /**
     * @Assert\Valid
     */
    protected $address; (Object!!!!)
}

Comments

Popular posts from this blog

Browser User Agent List

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36 Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0 Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36 Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/601.4.4 (KHTML, like Gecko) Version/9.0.3 Safari/601.4.4 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/601.5.17 (KHTML, like Gecko) Version/9.1 Safari/601.5.17 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36 Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0 Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0;...

[linux] Adjusting child processes for PHP-FPM (Nginx)

Adjusting child processes for PHP-FPM (Nginx) Problem: The following warning message appears in the logs: [26-Jul-2012 09:49:59] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 8 idle, and 58 total children [26-Jul-2012 09:50:00] WARNING: [pool www] server reached pm.max_children setting (50), consider raising it It means that there are not enough PHP-FPM processes. Solution: We need to calculate and change these values based on the amount of memory on the system: /etc/php-fpm.d/www.conf pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 35 - the following command will help us to determine the memory used by each (PHP-FPM) child process: ps -ylC php-fpm --sort:rss The RSS column shows non-swapped physical memory usage by PHP-FPM processes in kilo Bytes. On an average each PHP-FPM process took ~75MB of RAM on my machine. Appropriate valu...