mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2024-12-21 22:07:49 +00:00
disallow paste of non hex characters
This commit is contained in:
parent
55dcf4c65f
commit
a0c3083af0
@ -22,6 +22,8 @@ namespace WinUI
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
APIHandler handler = new APIHandler();
|
||||
Regex charRegex = new Regex("[0-9a-fxA-FX]");
|
||||
Regex wholeStringRegex = new Regex("^[0-9a-fxA-FX]+$");
|
||||
|
||||
public MainWindow()
|
||||
{
|
||||
@ -29,6 +31,8 @@ namespace WinUI
|
||||
|
||||
updateStatus();
|
||||
updateNetworks();
|
||||
|
||||
DataObject.AddPastingHandler(joinNetworkID, OnPaste);
|
||||
}
|
||||
|
||||
private void updateStatus()
|
||||
@ -61,8 +65,20 @@ namespace WinUI
|
||||
|
||||
private void OnNetworkEntered(object sender, TextCompositionEventArgs e)
|
||||
{
|
||||
Regex regex = new Regex("[0-9a-fxA-FX]");
|
||||
e.Handled = !regex.IsMatch(e.Text);
|
||||
e.Handled = !charRegex.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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user