<p dir="auto">If a DataTransformer fails, the value is set to <code class="notranslate">null</code> in the underlying object. This is logical as we don't have any value to set in it reliably (think for instance of the case where your DataTransformer transforms an id into an object and the setter uses a typehint). But this leads to an issue if the validation has a NotBlank or NotNull constraint on the field as you will then see an error <code class="notranslate">This value should not be blank</code> on the field (which was not blank in the client data).</p>
<p dir="auto">See <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1922922" data-permission-text="Title is private" data-url="https://github.com/symfony/symfony/issues/2413" data-hovercard-type="issue" data-hovercard-url="/symfony/symfony/issues/2413/hovercard" href="https://github.com/symfony/symfony/issues/2413">#2413</a> for a place where this error occurs often: the repeated type.</p>
<table role="table">
<thead>
<tr>
<th>Q</th>
<th>A</th>
</tr>
</thead>
<tbody>
<tr>
<td>Bug report?</td>
<td>no</td>
</tr>
<tr>
<td>Feature request?</td>
<td>yes</td>
</tr>
<tr>
<td>BC Break report?</td>
<td>no</td>
</tr>
<tr>
<td>RFC?</td>
<td>no</td>
</tr>
<tr>
<td>Symfony version</td>
<td>3.3</td>
</tr>
</tbody>
</table>
<p dir="auto">Hi. In my app, different types of users have different session timeouts. PdoSessionHandler::write() and ::getMergeStatement() get the session.gc_maxlifetime ini value and overwrites the lifetime in the database with the default value every time the session data is saved. Is there any way around this behaviour (other than creating my own version of the PdoSessionHandler?)</p>