Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:95811 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 58710 invoked from network); 8 Sep 2016 21:56:53 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 8 Sep 2016 21:56:53 -0000 Authentication-Results: pb1.pair.com smtp.mail=cmbecker69@gmx.de; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=cmbecker69@gmx.de; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmx.de designates 212.227.15.18 as permitted sender) X-PHP-List-Original-Sender: cmbecker69@gmx.de X-Host-Fingerprint: 212.227.15.18 mout.gmx.net Received: from [212.227.15.18] ([212.227.15.18:64201] helo=mout.gmx.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id C9/46-61313-F9ED1D75 for ; Thu, 08 Sep 2016 17:56:52 -0400 Received: from [192.168.2.103] ([79.243.115.246]) by mail.gmx.com (mrgmx002) with ESMTPSA (Nemesis) id 0Llm9w-1b8mUR1feq-00ZMbh; Thu, 08 Sep 2016 23:56:31 +0200 To: Yasuo Ohgaki , Lester Caine References: <232F1604-2211-4351-B830-EDC958A25D6D@strojny.net> <2de35db0-9974-cc96-83dd-3d2dbd48f7f8@lsces.co.uk> <5b72e9da-068a-bc79-82c2-f36f723f42bb@gmail.com> Cc: "internals@lists.php.net" Message-ID: <73a3293b-4c5a-41ad-526b-1653b68cb2c2@gmx.de> Date: Thu, 8 Sep 2016 23:56:31 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:n3frdAU4BxqXMP4QJCVC401dxr/zk5ysGFhKeYhXGtEHlai2BjT adsPZC6sPoIY4oof+sP6NhJ2VUyCDlNR0bADOOSTZsv52VaQo3HVUW4q7spL/KKZl79koy4 gclM0LLYGqJWoZGcDh0MApslLTAGVISf12BtTIDBhxiEhQ6/IlJpqK2uaTLJhTc3WxR3Yqs Wt3maQlz2EJR4Uxl71QWA== X-UI-Out-Filterresults: notjunk:1;V01:K0:dv0Z4EQkFSE=:4uuVYyh39nNcvpG5PlSXam 0PR7jUraq1gxHN+UISpiN34TvIHpI8BTY8k8Cd8CYb5z31D6rdf0qzE8O0ooDr6POrArR4VHk oafOWCrxL/Wo0Qs167DfHQDh1tIs0pRyga7558Kk6igyu68NkNA8md0zjitdNuDOcZM93e0OE /JJssQ811XFDhMsoITdkRCUbPwZiBbmyNR8lnxM/Jf7d5QEBoKVNK7HqhpHUEIiFUq1QNI7Zq xMEx1G6gzJ8xX0tdONzP2esG9OKCwg81MxqBm83rMrQ3IEftCCkJbAWkGo9iWK4G/CHl4HztD XTb524hWWiKPUTb9vnGorzhQVPH01TRNDw0p9461rDurNd57OfTOPPcppxk39xIeq0AIeWUFQ bIXQUvoM9lNUMaI32KE7C03PWEqhmjuSqhno/RsIC7ripzFcELXxqOEXhKIlhrOt7iuVOH6O7 Gy3fBGzkpn815f9UBZ2cAn0SK66VF04Ug+HbPGjzXX6veJnFNL0BnnLCoW3Y7OQwVYrIF64IB 5Sn3TJ7PntnC/gDV3hLLa6ECGoUk0427EXL0/efByUmfhvHF9vysW4jVOEtsPTPT2Td0GaE/c /4ywHqCktW1/08DbServLklPajCXNWxKbaISy3yGnXyyBWhQav7p1wV2gYUqERhTXqxUnuH0J 5sx+hk95TegyAdpTqLdYP0T1SFeczTnWNiXk+7jtVcnolGIK66QzNy06BwT4HCDT6dfgDMMEb +5uXFaFimZ+WW4PPpioLMDXTN5jp/DBob5iU5clfQwAZWR8uptDeEs/dWMN9Wr4IUwqAJJ43R sIT6uvF Subject: Re: [PHP-DEV] [RFC][VOTE] Add validation functions to filter module From: cmbecker69@gmx.de ("Christoph M. Becker") On 08.09.2016 at 23:47, Yasuo Ohgaki wrote: > On Thu, Sep 8, 2016 at 8:08 PM, Lester Caine wrote: > >> On 08/09/16 10:02, Rowan Collins wrote: >> >>> No, I'm suggesting something like: >>> >>> if ( >>> ! validate_int($var, $min, $max) >>> || ! validate_bool($var, $allowed_bool_types) >>> || ! validate_string($var, $min_len, $max_len) >>> || ! validate_string_encoding($var, $encoding) >>> || ! validate_string_chars($var, $allowed_chars) >>> || ! validate_string_regex($var, $regex) >>> || ! validate_string_degit($var, $min_len, $max_len) >>> || ! $callback($var) // Note: no need to wrap this callback, it's >>> just a boolean-returning function >> >> And I am looking for some way of packaging that into something I can >> read and write dynamically for each $var ... >> >> $var->set_validation_rules($rules); And $rules is going to be an array >> of items which can then be used for related parallel activities such as >> populating the browser validation. >> >> So the above script is replaced by $var->is_valid(); or if you prefer it >> throws an exception when you try and set the variable with an invalid >> input ( or one that does not match a 'strict' rule ). > > Anyway, your way would work with autoboxing. > https://wiki.php.net/rfc/autoboxing > and this proposal. And it can even work without autoboxing; just wrap the scalars in objects manually. -- Christoph M. Becker