<?php

YuppLoader::load('core.validation', 'Constraints');
YuppLoader::loadScript('core.validation', 'Messages');
YuppLoader::load('core.mvc', 'DisplayHelper');
class ValidationMessage
{
    const MSG_NULLABLE = "validation.error.nullable";
    const MSG_BLANK = "validation.error.blank";
    const MSG_LOWER = "validation.error.lower";
    const MSG_GREATER = "validation.error.greater";
    const MSG_INLIST = "validation.error.inList";
    const MSG_BETWEEN = "validation.error.between";
    const MSG_MINLENGTH = "validation.error.minLengthConstraint";
    const MSG_MAXLENGTH = "validation.error.maxLengthConstraint";
    const MSG_EMAIL = "validation.error.email";
    const MSG_DATE = "validation.error.date";
    const MSG_DATETIME = "validation.error.datetime";
    const MSG_MATCHES = "validation.error.matches";
    public static function getMessage($constraint, $attr, $value)
    {
        // Si es un custom validator creado en la clase de dominio, el self::clase va a fallar,
        // en su lugar, deberia pedirle al validador el codigo del mensaje, y la app deberia
        // definir su Messages para sacar el valor final de ahi.
        //eval ('$msg = self::'.get_class($constraint).'( $constraint, $attr, $value );');
        $method = get_class($constraint);
        if (method_exists('ValidationMessage', $method)) {
            $msg = self::$method($constraint, $attr, $value);
        } else {
            // Custom validator class
            // FIXME: por ahora la key del mensaje es el nombre de la clase
Exemplo n.º 2
0
<?php

$m = Model::getInstance();
YuppLoader::load('core.mvc', 'DisplayHelper');
YuppLoader::loadScript('apps.twitter', 'Messages');
?>
<html>
  <head>
    <?php 
echo h('css', array('app' => 'twitter', 'name' => 'twitter.bootstrap'));
?>
    <style type="text/css">
      body {
        padding: 10px;
      }
      form {
         padding: 10px;
         width: 430px;
      }
      .alert {
        margin: 10px 0;
      }
      .form-actions {
        margin-bottom: 0px;
        padding-bottom: 0px;
      }
      .well .top-action {
        text-align:right;
      }
    </style>
  </head>
Exemplo n.º 3
0
<?php

$ctx = YuppContext::getInstance();
$m = Model::getInstance();
YuppLoader::loadScript('apps.core', 'Messages');
YuppLoader::load('core.mvc', 'DisplayHelper');
global $_base_dir;
?>
<html>
  <head>
    <style>
      body {
        font-family: arial, verdana, tahoma;
        font-size: 12px;
        background-color: #efefef;
      }
      .message {
        background: #fff url(<?php 
echo $_base_dir;
?>
/images/shadow.jpg) bottom repeat-x;
        border: 1px solid #ccc;
        border-style: solid solid none solid;
        padding: 7px 12px;
        font-weight: bold;
      }
      .body {
        border: 1px solid #ccc;
        padding: 7px 12px;
        background-color: #f5f5f5;
      }