Agent_Control_with_Language / draft_gradio_update_example.py
ArseniyPerchik's picture
more
25a1345
import gradio as gr
# Function to validate the input and enable/disable the button
def validate_input(text):
error_msg = ""
button_state = False
if len(text.strip()) < 3:
error_msg = "_Input_ must be at least 3 characters."
button_state = False
else:
button_state = True
return gr.update(value=error_msg), gr.update(interactive=button_state)
# Function that runs when the button is clicked
def on_submit(text):
return f"Processed: {text.strip()}"
with gr.Blocks() as demo:
gr.Markdown("### Input Validation Example")
inp = gr.Textbox(label="Enter something")
validation = gr.Label(value="", visible=True)
btn = gr.Button("Submit", interactive=False)
out = gr.Textbox(label="Output", interactive=False)
# When the input changes, validate it and enable/disable the button
inp.change(validate_input, inputs=inp, outputs=[validation, btn])
# When the button is clicked, process the input
btn.click(on_submit, inputs=inp, outputs=out)
demo.launch()