disallow paste of non hex characters

This commit is contained in:
Grant Limberg 2015-10-26 18:08:44 -07:00
parent 55dcf4c65f
commit a0c3083af0

View file

@ -22,6 +22,8 @@ namespace WinUI
public partial class MainWindow : Window public partial class MainWindow : Window
{ {
APIHandler handler = new APIHandler(); APIHandler handler = new APIHandler();
Regex charRegex = new Regex("[0-9a-fxA-FX]");
Regex wholeStringRegex = new Regex("^[0-9a-fxA-FX]+$");
public MainWindow() public MainWindow()
{ {
@ -29,6 +31,8 @@ namespace WinUI
updateStatus(); updateStatus();
updateNetworks(); updateNetworks();
DataObject.AddPastingHandler(joinNetworkID, OnPaste);
} }
private void updateStatus() private void updateStatus()
@ -61,8 +65,20 @@ namespace WinUI
private void OnNetworkEntered(object sender, TextCompositionEventArgs e) private void OnNetworkEntered(object sender, TextCompositionEventArgs e)
{ {
Regex regex = new Regex("[0-9a-fxA-FX]"); e.Handled = !charRegex.IsMatch(e.Text);
e.Handled = !regex.IsMatch(e.Text); }
private void OnPaste(object sender, DataObjectPastingEventArgs e)
{
var isText = e.SourceDataObject.GetDataPresent(DataFormats.UnicodeText, true);
if (!isText) return;
var text = e.SourceDataObject.GetData(DataFormats.UnicodeText) as string;
if (!wholeStringRegex.IsMatch(text))
{
e.CancelCommand();
}
} }
} }
} }