<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Jul 29, 2014 at 11:02 PM, Isaac Bennetch <span dir="ltr"><<a href="mailto:bennetch@gmail.com" target="_blank">bennetch@gmail.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><br>
<br>
On 7/29/14, 8:16 AM, Chirayu Chiripal wrote:<br>
> On Tue, Jul 29, 2014 at 1:32 AM, Isaac Bennetch <<a href="mailto:bennetch@gmail.com" target="_blank">bennetch@gmail.com</a><br>
</div><div><div>> <mailto:<a href="mailto:bennetch@gmail.com" target="_blank">bennetch@gmail.com</a>>> wrote:<br>
><br>
>     Hi,<br>
><br>
>     On 7/28/14, 1:30 PM, Chirayu Chiripal wrote:<br>
>     > Hi,<br>
>     ><br>
>     > My GSoC task for this week is "Improved notification when<br>
>     attempting to<br>
>     > insert invalid data". I would like to know at which places<br>
>     validation is<br>
>     > required to be done?<br>
><br>
>     The idea here is basically that if a user attempts to insert data that<br>
>     will be truncated that we'll warn them. Some of this has already been<br>
>     implemented (for instance, try to insert the text "foo" to a column of<br>
>     type INT(10); the field turns red indicating a problem).<br>
><br>
>     This can be enhanced, though, for instance the following scenarios do<br>
>     not warn correctly:<br>
>     * Insert 999 to a TINYINT<br>
>     * Insert 99999999999 to an INT<br>
><br>
><br>
> For integer types we can change our current input type="text" to input<br>
> type="number" and specify a min and max value using attributes. Or, we<br>
> still have to add a min and max value attribute and use<br>
> Javascript/Jquery to validate the field when it loses focus or at keyup<br>
> event.<br>
<br>
</div></div>I prefer a consistent experience for the user. Even though many browsers<br>
would properly deal with input type="number", it will give different<br>
feedback than our custom handling of, say, too many characters in a<br>
varchar field. So I would like to be consistent and use our own tests<br>
even for INT columns.<br></blockquote><div><br></div><div>Okay, so we will use our own validation.<br> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">



<br>
Note that in multibyte character sets, a single character may take<br>
several bytes of data to store. I'm not sure whether it's easy to<br>
correctly count bytes/characters in this case.<br></blockquote><div><br></div><div>Yeah, this is an important thing to be taken care of. I am not sure whether Javascript supports it natively but there should some way to do it. MySQL documentation says that "MySQL interprets length specifications in character column
            definitions in character units." I am not sure that by character units they mean unicode "code points" or something else.<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">



<br>
Another thought: we should allow the user to continue even if we don't<br>
think the data they're entering is okay -- the input field should turn<br>
red, but they should still be allowed to press the submit button and<br>
allow MySQL to truncate.<br></blockquote><div><br></div><div>Sure. <br></div></div></div></div>