Вы никогда не можете контролировать поле ввода формы. Если вы когда-либо предполагали это, переосмыслите эти решения, потому что: Вы никогда не можете доверять данным от / клиента . По крайней мере половина людей в StackOverflow знают, как манипулировать вашими формами, однако мы не можем изменить код вашего сервера.
То, что вы хотите, - это дезинфекция, прежде чем вводить ее в свою базу данных. Вы можете либо очистить его и вставить его, либо проверить, если он чистый, если не выдает ошибку. Я сделал быстрый пример на PHP:
$cleanVariable = preg_replace("/[^A-Z0-9]/s", '', $variable);
// OR:
if( !preg_match("/^[A-Z0-9]$/s", $variable) ){
throw new Exception("does not match");
}
И вы можете использовать strtoupper (), чтобы всегда делать его заглавными.
После того, как вы сделали серверную часть, вы можете сделать клиентскую сторону более привлекательной для пользователя .
<!-- Inline isnt preferred, but for demo: -->
<input onChange="cleanThisInput(this.value)" />
Определенная косвенность в частичном классе должна добиться цели...
Public Property AssetId() As Int32 Implements IAsset.AssetId
Get
Return Id1
End Get
Set(ByVal value As Int32)
Id1 = value
End Set
End Property
Свойство, которое реализует интерфейс, называет фактическое свойство сгенерированным dbml. Класс будет по существу иметь два идентификационных свойства, который не очень изящен, но при доступе через интерфейс Вы не будете знать различия.
Нет никакого окольного пути этого. Это - дефект в том, как VB вынуждает Вас обработать реализацию интерфейсов.
Вы могли создать отдельную библиотеку для своего LINQ к Объектам, который был в C#. Я не уверен, могли ли Вы просто поместить частичные классы в отдельный проект и сохранить основы в VB один. Я никогда не пробовал это.