GithubHelp home page GithubHelp logo

multipart form validation about fullmoon HOT 4 CLOSED

pkulchenko avatar pkulchenko commented on May 27, 2024
multipart form validation

from fullmoon.

Comments (4)

pkulchenko avatar pkulchenko commented on May 27, 2024

I thought about that, but I like the consistency of being able to extract parameter values in exactly the same way whether they are passed using multipart/form-data or application/x-www-form-urlencoded. If you do know that it's a multipart parameter, then you have two main options: extract them like you do using files[] syntax or extract them using { "multipart", test = function(multipart) end }. This makes it more explicit and still gives you access to everything you need (but only when the multipart parameters are indeed present).

I also thought about always returning a table, but making it behave as a string to handle these cases, but it's not possible to do it properly in many cases and requires overwriting __len, __concat, __tostring and some other metamethods and still leaves some wholes (for example, you can's use the comparison: file == "123" when file is a table and there is nothing I can do about it). To work properly it would require always using tostring on those parameters, which in my opinion is too much for the developer to do.

from fullmoon.

 avatar commented on May 27, 2024

Thanks for the explaination.

{ "multipart", test = function(multipart) end }

This is the part I was missing. I didn't see that you can use "multipart" that way.

from fullmoon.

pkulchenko avatar pkulchenko commented on May 27, 2024

Thanks @johnmuhl; it's good to hear that this option works for you. Would you expect it to be covered in the validation section? I do describe multipart pseudo-parameter in the section on multipart parameters, but I think it may benefit from adding a sentence or two about validation there.

from fullmoon.

 avatar commented on May 27, 2024

After you mentioned it I went back to the form validation section to see if I had missed it so a note there would have helped me.

from fullmoon.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.