extend/alipay/pay/lotusphp_runtime/Validator/Validator.php

(开头部分) 1KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php
class LtValidator
{
	public $configHandle;
	protected $errorMessages;

	public function __construct()
	{
		if (! $this->configHandle instanceof LtConfig)
		{
			if (class_exists("LtObjectUtil", false))
			{
				$this->configHandle = LtObjectUtil::singleton("LtConfig");
			}
			else
			{
				$this->configHandle = new LtConfig;
			}
		}
	}

	public function init()
	{
		$this->errorMessages = $this->configHandle->get('validator.error_messages');
	}

	/**
	 * Validate an element
	 * 
	 * @param mixed $value 
	 * @param array $dtd 
	 * @return array 
	 */
	public function validate($value, $dtd)
	{
		$errorMessages = array();
		$label = $dtd->label;

		if (is_array($dtd->rules) && count($dtd->rules))
		{
			$messages = isset($dtd->messages) ? $dtd->messages : array();
			foreach ($dtd->rules as $key => $val)
			{ 
				// callback_user_function
				if ('callback_' == substr($key, 0, 9))
				{
					$method = substr($key, 9); 
					// 定义了过程函数
					if (function_exists($method))
					{
						if (!$method($value, $dtd->rules[$key]))
						{
							if (isset($this->errorMessages[$key]))
							{
								$messages[$key] = $this->errorMessages[$key];
							}
							else
							{
								$messages[$key] = "validator.error_messages[$key] empty";
							}

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。