示例#1
0
文件: test4.php 项目: bmdevel/ezc
<?php 
    $def = array('test1' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::REQUIRED, 'string', FILTER_FLAG_STRIP_HIGH), 'test2' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'int', array('min_range' => 42)), 'test3' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'int', array('min_range' => 42)));
    $form = new ezcInputForm(INPUT_POST, $def);
    echo "Valid properties:\n";
    var_dump($form->getValidProperties());
    echo "Invalid properties:\n";
    var_dump($form->getInvalidProperties());
    echo "Required properties:\n";
    var_dump($form->getRequiredProperties());
    echo "Optional properties:\n";
    var_dump($form->getOptionalProperties());
    echo "Values:\n";
    var_dump($form->hasValidData('test1'));
    var_dump($form->test1);
    try {
        var_dump($form->getUnsafeRawData('test1'));
    } catch (ezcInputFormException $e) {
        echo $e->getCode(), ': ', $e->getMessage(), "\n";
    }
    echo "<hr/>\n";
    var_dump($form->hasValidData('test2'));
    try {
        var_dump($form->test2);
    } catch (ezcInputFormException $e) {
        echo $e->getCode(), ': ', $e->getMessage(), "\n";
    }
    try {
        var_dump($form->getUnsafeRawData('test2'));
    } catch (ezcInputFormException $e) {
        echo $e->getCode(), ': ', $e->getMessage(), "\n";
    }
<?php

if (ezcInputForm::hasGetData()) {
    $form = new ezcInputForm(INPUT_GET, $definition);
    foreach ($definition as $name => $dummy) {
        $propertyName = "property_{$name}";
        $propertyWarningName = "warning_{$name}";
        if ($form->hasValidData($name)) {
            ${$propertyName} = $form->{$name};
        } else {
            ${$propertyName} = htmlspecialchars($form->getUnsafeRawData($name));
            ${$propertyWarningName} = '[invalid]';
        }
    }
}
示例#3
0
 public function testGetUnsafeRawDataNoDataField()
 {
     $def = array('test2' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'int'), 'test3' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'int'));
     try {
         $obj = new ezcInputForm(INPUT_GET, $def);
         $obj->getUnsafeRawData('test2');
         self::fail("No exception, where we should have had one");
     } catch (ezcInputFormFieldNotFoundException $e) {
         self::assertEquals("The field 'test2' could not be found in the input source.", $e->getMessage());
     }
 }