<?xml version="1.0" ?>
<constraint-mapping xmlns="http://symfony.com/schema/dic/constraint-mapping"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://symfony.com/schema/dic/constraint-mapping
        http://symfony.com/schema/dic/services/constraint-mapping-1.0.xsd">

    <class name="FOS\MessageBundle\FormModel\NewThreadMultipleMessage">
        <property name="recipients">
            <constraint name="All">
                <constraint name="FOS\MessageBundle\Validator\Authorization" />
                <constraint name="FOS\MessageBundle\Validator\SelfRecipient" />
                <constraint name="NotBlank">
                    <option name="message">fos_message.recipients.blank</option>
                </constraint>
                <constraint name="Type">
                    <option name="type">FOS\MessageBundle\Model\ParticipantInterface</option>
                </constraint>
            </constraint>
        </property>
        <property name="subject">
            <constraint name="NotBlank">
                <option name="message">fos_message.subject.blank</option>
            </constraint>
            <constraint name="Length">
                <option name="min">2</option>
                <option name="max">255</option>
                <option name="minMessage">fos_message.subject.short</option>
                <option name="maxMessage">fos_message.subject.long</option>
            </constraint>
        </property>

        <property name="body">
            <constraint name="NotBlank">
                <option name="message">fos_message.body.blank</option>
            </constraint>
            <constraint name="Length">
                <option name="min">2</option>
                <option name="minMessage">fos_message.body.short</option>
            </constraint>
        </property>
    </class>

    <class name="FOS\MessageBundle\FormModel\NewThreadMessage">

        <constraint name="FOS\MessageBundle\Validator\Spam" />

        <property name="recipient">
            <constraint name="FOS\MessageBundle\Validator\Authorization" />
            <constraint name="FOS\MessageBundle\Validator\SelfRecipient" />
            <constraint name="NotBlank">
                <option name="message">fos_message.recipient.blank</option>
            </constraint>
            <constraint name="Type">
                <option name="type">FOS\MessageBundle\Model\ParticipantInterface</option>
            </constraint>
        </property>

        <property name="subject">
            <constraint name="NotBlank">
                <option name="message">fos_message.subject.blank</option>
            </constraint>
            <constraint name="Length">
                <option name="min">2</option>
                <option name="max">255</option>
                <option name="minMessage">fos_message.subject.short</option>
                <option name="maxMessage">fos_message.subject.long</option>
            </constraint>
        </property>

        <property name="body">
            <constraint name="NotBlank">
                <option name="message">fos_message.body.blank</option>
            </constraint>
            <constraint name="Length">
                <option name="min">2</option>
                <option name="minMessage">fos_message.body.short</option>
            </constraint>
        </property>

    </class>

    <class name="FOS\MessageBundle\FormModel\ReplyMessage">

        <constraint name="FOS\MessageBundle\Validator\ReplyAuthorization" />

        <property name="body">
            <constraint name="NotBlank">
                <option name="message">fos_message.body.blank</option>
            </constraint>
            <constraint name="Length">
                <option name="min">2</option>
                <option name="minMessage">fos_message.body.short</option>
            </constraint>
        </property>

    </class>

</constraint-mapping>
