本文整理汇总了PHP中Respect\Validation\Validator::optional方法的典型用法代码示例。如果您正苦于以下问题:PHP Validator::optional方法的具体用法?PHP Validator::optional怎么用?PHP Validator::optional使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Respect\Validation\Validator
的用法示例。
在下文中一共展示了Validator::optional方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: validate
protected function validate()
{
$data = filter_input(INPUT_POST, $this->model);
$error = false;
foreach ($this->validation_rules as $field => $config) {
$validator = new v();
$validator->addRules($config['rules']);
if ($config['optional']) {
$this->validate[$field] = v::optional($validator);
} else {
$this->validate[$field] = $validator;
}
$error = $this->validate[$field]->validate($data[$field]);
}
return $error;
}
示例2: __construct
public function __construct(array $options)
{
$options = ['baseUri' => Arr::get($options, 'baseUri', $this->baseUri), 'timeout' => Arr::get($options, 'timeout', $this->timeout), 'proxy' => Arr::get($options, 'proxy', $this->proxy), 'auth' => Arr::get($options, 'auth', $this->auth), 'logger' => Arr::get($options, 'logger')];
try {
V::arrayVal()->key('baseUri', V::url()->notEmpty())->key('timeout', V::floatVal()->min(0))->key('proxy', V::optional(V::url()))->key('auth', V::arrayVal()->key('user', V::stringType())->key('pass', V::stringType()))->key('logger', V::instance('\\Psr\\Log\\LoggerInterface'))->assert($options);
} catch (\InvalidArgumentException $e) {
$errors = array_filter($e->findMessages(['baseUri' => 'Required correct baseUri', 'timeout' => 'Required correct timeout', 'proxy' => 'Required correct proxy', 'auth' => 'Required correct authuser', 'logger' => 'Required a logger instance of psr\\log']));
$errmsg = array_shift($errors);
throw new Exception($errmsg);
}
$this->baseUri = $options['baseUri'];
$this->timeout = $options['timeout'];
$this->proxy = $options['proxy'];
$this->auth = $options['auth'];
$this->logger = $options['logger'];
}
示例3: createNegativeOrOptionalValidator
/**
* Create a negative or optional validator instance.
*
* @param string $filter
* @param array $rules
*
* @return \Respect\Validation\Validator
*/
protected function createNegativeOrOptionalValidator(string $filter, array $rules) : RespectValidator
{
list($method, $parameters) = $this->parseStringRule($rules[0]);
unset($rules[0]);
$validator = call_user_func_array([RespectValidator::class, str_replace($filter, '', $method)], $parameters);
if ($filter === '!') {
return RespectValidator::not($this->createChainableValidators($validator, $rules));
}
return RespectValidator::optional($this->createChainableValidators($validator, $rules));
}
示例4: validate
private function validate()
{
try {
$validator = v::attribute('merchantAlias', v::stringType()->alnum('_')->noWhitespace()->length(1, 30))->attribute('macKey', v::stringType()->length(1))->attribute('transactionCode', v::stringType()->alnum()->noWhitespace()->length(1, 30))->attribute('requestType', v::oneOf(v::stringType()->equals(self::REQUEST_TYPE_FIRST_ATTEMPT), v::stringType()->equals(self::REQUEST_TYPE_RETRY_ATTEMPT)))->attribute('operationId', v::stringType()->digit()->noWhitespace()->length(1, 10))->attribute('operationType', v::oneOf(v::stringType()->equals(self::OPERATION_TYPE_CAPTURE), v::stringType()->equals(self::OPERATION_TYPE_VOID)))->attribute('originalAmount', v::stringType()->digit()->noWhitespace()->length(9, 9))->attribute('currency', v::stringType()->alnum()->noWhitespace()->length(3, 3))->attribute('authCode', v::stringType()->alnum()->noWhitespace()->length(1, 10))->attribute('operationAmount', v::stringType()->digit()->noWhitespace()->length(9, 9))->attribute('user', v::optional(v::stringType()->alnum()->length(0, 20)))->attribute('isTest', v::boolType());
$validator->assert($this);
} catch (NestedValidationException $e) {
throw new ValidationException($e->getFullMessage());
}
}
示例5: testValidationNotExistingOptionalParameter
public function testValidationNotExistingOptionalParameter()
{
$notExistingValidator = v::optional(v::alpha());
$validators = array('notExisting' => $notExistingValidator);
$mw = new Validation($validators);
$next = function ($req, $res) {
return $res;
};
$response = $mw($this->request, $this->response, $next);
$errors = array();
$this->assertFalse($mw->hasErrors());
$this->assertEquals($errors, $mw->getErrors());
}