-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[PHP] Improve validation on empty arrays #7686
Conversation
- bin/php-petstore.sh - bin/security/php-petstore.sh
@ackintosh The enhancement to check for empty array looks good to me 👍 |
Shall we do the same for the model template: https://github.com/ackintosh/swagger-codegen/blob/332956de362f19162b56486899686b860583327c/modules/swagger-codegen/src/main/resources/php/model_generic.mustache#L189-L193? |
👀 ! Thanks, I'll do that. |
Ah, the check for empty array in model may not needed. Because:
So empty array is always detected as an invalid value. While I was investigating the above, I realized two different problems. 💡 1. We should pass
|
refs swagger-api#7686 (comment) > 2. Non-required enum property is listed as invalid when omitted
refs swagger-api#7686 (comment) > 1. We should pass true as 3rd argument of in_array()
* Add required enum property * Update samples * Add test case which reproduce the problem refs #7686 (comment) > 2. Non-required enum property is listed as invalid when omitted * If the property is not empty, perform validation * Update samples * Use is_null() according to setter implementation refs https://github.com/ackintosh/swagger-codegen/blob/377247f125988b591685e9f7cedc95fe5e99bcc2/modules/swagger-codegen/src/main/resources/php/model_generic.mustache#L347 * Update samples
* Add test case which reproduce the problem refs #7686 (comment) > 1. We should pass true as 3rd argument of in_array() * Add test case for setter * Strict validation * Update samples * Tweak expected value according to changes in #7723
PR checklist
./bin/
to update Petstore sample so that CIs can verify the change. (For instance, only need to run./bin/{LANG}-petstore.sh
and./bin/security/{LANG}-petstore.sh
if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in.\bin\windows\
.3.0.0
branch for changes related to OpenAPI spec 3.0. Default:master
.Description of the PR
refs #7675 (comment)